
:root{--black:#111111;--yellow:#f5c21b;--yellow2:#ffd94a;--white:#fff;--off:#f7f6f1;--cream:#efe9de;--gray:#6e6e6e;--line:#dfddd5;--navy:#061a38;--max:1200px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Manrope,sans-serif;color:var(--black);background:#fff;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.07)}.nav-wrap{height:86px;display:flex;align-items:center;gap:28px}.logo-link img{width:82px;height:62px;object-fit:contain}.main-nav{margin-left:auto;display:flex;gap:30px;font-weight:700;font-size:.92rem}.main-nav a{position:relative}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--yellow)}.desktop-cta{margin-left:10px}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--black);color:#fff}.btn-yellow{background:var(--yellow);color:#111}.btn-yellow:hover{box-shadow:5px 5px 0 #111}.btn-outline{border-color:#111;background:#fff}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.15em;margin-bottom:18px}.eyebrow.light{color:var(--yellow)}h1{font-size:clamp(3.7rem,7.5vw,7.7rem);line-height:.92;letter-spacing:-.07em;max-width:980px}h1 span,h2 span{color:var(--yellow)}h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.97;letter-spacing:-.06em}.lead{margin-top:26px;max-width:720px;font-size:1.08rem;color:var(--gray)}.small-lead{font-size:1rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero{min-height:calc(100vh - 86px);display:flex;align-items:center;padding:80px 0 95px;background:linear-gradient(180deg,#fff,#fbfaf6);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.hero-pills span{padding:9px 13px;border:1px solid var(--line);font-size:.78rem;font-weight:700}.hero-art{position:relative;min-height:570px;border:1px solid #111;background:var(--off);overflow:hidden}.hero-logo-card{position:absolute;left:56px;top:92px;z-index:3;width:68%;background:#fff;border:1px solid #111;padding:38px;box-shadow:12px 12px 0 var(--yellow)}.hero-logo-card img{width:100%}.floating-card{position:absolute;z-index:4;background:#111;color:#fff;padding:19px 20px;width:220px}.floating-card small{color:var(--yellow);display:block;font-weight:800;letter-spacing:.1em;margin-bottom:7px}.floating-card.one{right:22px;bottom:104px}.floating-card.two{left:22px;bottom:22px}.yellow-orb{position:absolute;width:260px;height:260px;border-radius:50%;background:var(--yellow);right:-95px;top:-90px}.section{padding:110px 0}.gray{background:var(--off)}.section-head{display:grid;grid-template-columns:1.1fr .7fr;gap:70px;align-items:end;margin-bottom:48px}.section-head>p,.section-head>.text-link{color:var(--gray)}.text-link{font-weight:800}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{min-height:300px;border:1px solid #111;padding:30px;display:flex;flex-direction:column;background:#fff;transition:.2s}.service-card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--yellow)}.service-card.featured{background:var(--yellow)}.service-card.dark{background:#111;color:#fff}.service-card h3{font-size:1.75rem;letter-spacing:-.04em}.service-card p{color:var(--gray);margin-top:14px}.service-card.dark p{color:#b7b7b7}.service-card span{margin-top:auto;padding-top:30px;font-weight:800}.portfolio-home{background:#fff}.project-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-cover{height:300px;display:flex;align-items:flex-end;padding:26px;border:1px solid #111}.project-cover span{font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.project-cover.yellow{background:var(--yellow)}.project-cover.cream{background:var(--cream)}.project-cover.black{background:#111;color:#fff}.project-tile small{display:block;margin-top:12px;color:var(--gray)}.avra-section{background:var(--navy);color:#fff}.avra-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.avra-copy p{color:#c7d5e9}.product-panel{background:#0a274f;border:1px solid #3a5d88;padding:30px;box-shadow:12px 12px 0 #1597ff}.product-top{display:flex;align-items:end;gap:12px}.product-top b{font-size:2.2rem;letter-spacing:.08em}.product-top span{color:#47cfff}.dashboard-fake{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.dashboard-fake div{height:110px;border:1px solid #355e8e;background:#0d315f}.product-lines{margin-top:18px;display:grid;gap:10px}.product-lines i{display:block;height:10px;background:#153e70}.product-lines i:nth-child(2){width:78%}.product-lines i:nth-child(3){width:58%}.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.steps article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.steps article:first-child{border-top:1px solid var(--line)}.steps span{color:var(--yellow);font-weight:800}.steps h3{font-size:1.3rem}.steps p{color:var(--gray);margin-top:4px}.faq-section{background:var(--off)}.faq-list{display:grid;gap:10px}.faq-list details{background:#fff;border:1px solid var(--line);padding:22px 24px}.faq-list summary{cursor:pointer;font-weight:800}.faq-list p{margin-top:12px;color:var(--gray);max-width:850px}.cta-box{background:#111;color:#fff;padding:66px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;box-shadow:10px 10px 0 var(--yellow)}.cta-box p{color:#bbb}.dark-cta{box-shadow:10px 10px 0 var(--yellow)}.page-hero{padding:105px 0 82px;background:linear-gradient(180deg,#fff,#fbfaf6)}.service-detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.feature-list{list-style:none;border-top:1px solid var(--line)}.feature-list li{padding:20px 6px;border-bottom:1px solid var(--line);font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.portfolio-card{padding-top:14px;border-top:1px solid #111}.portfolio-visual{height:350px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #111}.portfolio-visual strong{font-size:1.8rem}.portfolio-visual.yellow{background:var(--yellow)}.portfolio-visual.cream{background:var(--cream)}.portfolio-visual.black{background:#111;color:#fff}.portfolio-visual.navy{background:var(--navy);color:#fff}.portfolio-visual.navy span{color:#47cfff}.portfolio-visual.game{background:linear-gradient(135deg,#111 0 50%,var(--yellow) 50%)}.portfolio-card small{display:block;margin-top:13px;color:var(--gray)}.portfolio-card h3{font-size:1.45rem;margin-top:4px}.portfolio-card p{color:var(--gray);margin-top:8px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.form-wrap h2,.contact-aside h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.05em;margin-bottom:26px}.quote-form{display:grid;gap:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:grid;gap:8px;font-size:.86rem;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:15px 16px;border:1px solid #111;background:#fff;font:inherit;outline:none;border-radius:0}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{box-shadow:4px 4px 0 var(--yellow)}.quote-form textarea{resize:vertical}.honeypot{display:none!important}.form-note{font-size:.78rem;color:var(--gray)}.contact-aside{background:#111;color:#fff;padding:36px;box-shadow:8px 8px 0 var(--yellow)}.contact-aside>p:not(.eyebrow){color:#bbb;margin-bottom:26px}.contact-aside a{display:flex;flex-direction:column;padding:18px 0;border-top:1px solid #373737}.contact-aside small{color:var(--yellow);font-weight:800}.contact-aside strong{margin-top:4px;word-break:break-word}.site-footer{padding:70px 0 24px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:50px}.footer-brand img{width:105px}.footer-brand p{color:var(--gray);margin-top:14px}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-bottom{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--gray);font-size:.78rem}.reveal{opacity:0;transform:translateY(22px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:40;background:#111;color:#fff;border-radius:999px;padding:13px 17px;font-size:.82rem;font-weight:800;box-shadow:5px 5px 0 var(--yellow)}
@media(max-width:940px){.main-nav{position:fixed;top:86px;left:0;right:0;height:calc(100vh - 86px);background:#fff;display:flex;flex-direction:column;padding:28px;gap:0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav a{padding:18px 0;border-bottom:1px solid var(--line);font-size:1.2rem}.desktop-cta{display:none}.menu-toggle{margin-left:auto;display:flex;width:42px;height:42px;background:#fff;border:1px solid #111;flex-direction:column;justify-content:center;gap:5px;padding:10px}.menu-toggle span{height:2px;background:#111;width:100%}.hero-grid,.section-head,.avra-grid,.why-grid,.service-detail-grid,.contact-layout,.cta-box{grid-template-columns:1fr}.hero{min-height:auto}.hero-art{min-height:500px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-strip{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:650px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.hero{padding:70px 0 80px}.page-hero{padding:75px 0 60px}h1{font-size:clamp(3.2rem,17vw,5.3rem)}.hero-art{min-height:410px}.hero-logo-card{left:24px;top:65px;width:76%;padding:24px}.floating-card{width:185px;padding:15px}.floating-card.one{right:12px;bottom:88px}.floating-card.two{left:12px;bottom:12px}.service-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.cta-box{padding:38px 26px}.dashboard-fake{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.floating-wa{right:14px;bottom:14px}.logo-link img{width:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* service-grid-3 refinement */
.service-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:940px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.service-grid{grid-template-columns:1fr}}


/* ===== Cursor personalizado Nuve Works ===== */
@media (pointer: fine) and (hover: hover) {
  html.nuve-custom-cursor,
  html.nuve-custom-cursor body,
  html.nuve-custom-cursor a,
  html.nuve-custom-cursor button,
  html.nuve-custom-cursor input,
  html.nuve-custom-cursor select,
  html.nuve-custom-cursor textarea,
  html.nuve-custom-cursor label {
    cursor: none !important;
  }

  .nuve-cursor-dot,
  .nuve-cursor-ring {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 99999;
    opacity: 0;
    will-change: transform, width, height, opacity;
  }

  .nuve-cursor-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--yellow, #f6c928);
    box-shadow: 0 0 0 1px rgba(17,17,17,.08);
    transition: opacity .16s ease, width .18s ease, height .18s ease;
  }

  .nuve-cursor-ring {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(17,17,17,.72);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(1px);
    transition:
      opacity .16s ease,
      width .2s ease,
      height .2s ease,
      border-color .2s ease,
      background .2s ease;
  }

  .nuve-cursor-dot.is-visible,
  .nuve-cursor-ring.is-visible {
    opacity: 1;
  }

  .nuve-cursor-ring.is-hovering {
    width: 52px;
    height: 52px;
    border-color: var(--yellow, #f6c928);
    background: rgba(246,201,40,.12);
  }

  .nuve-cursor-ring.is-project {
    width: 58px;
    height: 58px;
    color: #111;
    background: var(--yellow, #f6c928);
    border-color: var(--yellow, #f6c928);
  }

  .nuve-cursor-icon {
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nuve-cursor-dot,
  .nuve-cursor-ring {
    display: none !important;
  }
}


/* =========================================================
   NUVE WORKS — HOME V2 / EXPERIMENTAL EDITORIAL DIRECTION
   ========================================================= */

.home-v2{
  background:#f3f1ea;
  color:#111;
}

.home-v2 .container{
  width:min(calc(100% - 56px),1240px);
}

.home-v2 .home-header{
  background:rgba(243,241,234,.88);
  border-bottom:1px solid rgba(17,17,17,.13);
}

.home-v2 .logo-link img,
.home-v2 .footer-brand img{
  width:78px;
  height:auto;
  display:block;
}

.home-v2 .site-header{
  backdrop-filter:blur(18px);
}

.home-v2 .nav-wrap{
  min-height:92px;
}

.home-v2 .main-nav a{
  font-weight:700;
}

.home-v2 .btn{
  border-radius:999px;
}

/* HERO */
.nw-hero{
  position:relative;
  min-height:calc(100vh - 92px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#f3f1ea;
  border-bottom:1px solid #111;
}

.nw-hero-noise{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    radial-gradient(circle at 10% 20%,rgba(255,255,255,.9) 0 1px,transparent 1.4px),
    radial-gradient(circle at 80% 60%,rgba(17,17,17,.18) 0 1px,transparent 1.4px);
  background-size:13px 13px,17px 17px;
  mix-blend-mode:multiply;
}

.nw-hero-inner{
  position:relative;
  z-index:2;
  padding:80px 0 68px;
}

.nw-kicker{
  font-size:.74rem;
  letter-spacing:.18em;
  font-weight:800;
  margin-bottom:26px;
}

.nw-kicker.blue{color:#52b8ff}

.nw-display{
  max-width:1180px;
  font-size:clamp(4.8rem,10.6vw,10.8rem);
  line-height:.79;
  letter-spacing:-.078em;
  font-weight:800;
  text-transform:uppercase;
}

.nw-display span{
  display:block;
}

.nw-display .outline-word{
  color:transparent;
  -webkit-text-stroke:2px #111;
  text-stroke:2px #111;
}

.nw-display .yellow-word{
  color:#f6c928;
  text-shadow:8px 8px 0 #111;
}

.nw-hero-bottom{
  margin-top:64px;
  display:grid;
  grid-template-columns:minmax(0,520px) auto;
  justify-content:space-between;
  gap:50px;
  align-items:end;
}

.nw-hero-bottom>p{
  font-size:clamp(1.05rem,1.7vw,1.45rem);
  line-height:1.45;
  max-width:530px;
}

.nw-circle-link{
  width:150px;
  height:150px;
  border:1px solid #111;
  border-radius:50%;
  display:grid;
  place-content:center;
  text-align:center;
  line-height:1.05;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  position:relative;
  transition:.25s ease;
}

.nw-circle-link b{
  position:absolute;
  right:24px;
  bottom:22px;
  font-size:1.15rem;
}

.nw-circle-link:hover{
  background:#111;
  color:#f6c928;
  transform:rotate(-6deg);
}

.nw-hero-orbit{
  position:absolute;
  right:-110px;
  top:50%;
  width:430px;
  height:430px;
  transform:translateY(-50%);
  opacity:.9;
  pointer-events:none;
}

.orbit-ring{
  position:absolute;
  inset:0;
  border:1px solid rgba(17,17,17,.32);
  border-radius:50%;
}

.ring-a{
  transform:rotate(14deg) scaleY(.48);
}

.ring-b{
  transform:rotate(-21deg) scaleX(.55);
}

.orbit-dot{
  position:absolute;
  left:50%;
  top:3%;
  width:24px;
  height:24px;
  background:#f6c928;
  border-radius:50%;
  box-shadow:0 0 0 8px #111;
}

/* MARQUEE */
.nw-marquee{
  overflow:hidden;
  background:#111;
  color:#f6c928;
  border-bottom:1px solid #111;
  white-space:nowrap;
}

.nw-marquee-track{
  width:max-content;
  display:flex;
  align-items:center;
  gap:34px;
  padding:18px 0 20px;
  font-size:clamp(2.4rem,6vw,5.8rem);
  line-height:1;
  font-weight:800;
  letter-spacing:-.05em;
  animation:nwMarquee 26s linear infinite;
}

.nw-marquee-track i{
  font-style:normal;
  font-size:.5em;
  color:#fff;
}

@keyframes nwMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* DISCIPLINES */
.nw-disciplines{
  background:#fff;
}

.nw-discipline{
  position:relative;
  min-height:78vh;
  padding:54px max(28px,calc((100vw - 1240px)/2));
  display:grid;
  grid-template-columns:70px minmax(0,1fr) 70px;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid #111;
}

.nw-discipline.web{background:#fff}
.nw-discipline.identity{background:#f6c928}
.nw-discipline.software{background:#111;color:#fff}

.nw-discipline-index{
  align-self:start;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
}

.nw-discipline-copy{
  position:relative;
  z-index:2;
}

.nw-discipline-copy>p{
  font-size:.76rem;
  letter-spacing:.15em;
  font-weight:800;
  margin-bottom:20px;
}

.nw-discipline-copy h2{
  font-size:clamp(4.8rem,10vw,10rem);
  line-height:.78;
  letter-spacing:-.07em;
  font-weight:800;
}

.nw-discipline-copy span{
  display:block;
  max-width:430px;
  margin-top:34px;
  font-size:1.05rem;
  color:#6f6f6f;
}

.nw-discipline.identity .nw-discipline-copy span{color:#312a10}
.nw-discipline.software .nw-discipline-copy span{color:#aaa}

.nw-discipline-arrow{
  align-self:start;
  justify-self:end;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:1.4rem;
  z-index:3;
  transition:.2s ease;
}

.nw-discipline:hover .nw-discipline-arrow{
  transform:rotate(45deg);
  background:#111;
  color:#f6c928;
}

.nw-discipline.software:hover .nw-discipline-arrow{
  background:#f6c928;
  color:#111;
}

.nw-discipline-graphic{
  position:absolute;
  right:8%;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  opacity:.22;
}

.graphic-web{
  width:min(42vw,560px);
  aspect-ratio:1.2;
}

.wire-window{
  width:100%;
  height:100%;
  border:2px solid #111;
  padding:12%;
  transform:rotate(-7deg);
}

.wire-window:before{
  content:"";
  display:block;
  width:30%;
  height:12%;
  background:#f6c928;
  margin-bottom:8%;
}

.wire-window div{
  height:16%;
  border:1px solid #111;
  margin-top:6%;
}

.graphic-identity{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  font-size:clamp(7rem,17vw,15rem);
  line-height:.7;
  font-weight:800;
  color:#111;
  transform:translateY(-50%) rotate(9deg);
}

.graphic-code{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:clamp(2rem,5.5vw,5rem);
  color:#f6c928;
  transform:translateY(-50%) rotate(-4deg);
}

/* WORK */
.nw-work{
  background:#f3f1ea;
  padding-top:120px;
}

.nw-section-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:end;
  padding-bottom:64px;
}

.nw-section-head h2{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.93;
  letter-spacing:-.06em;
}

.nw-section-head h2 span{
  color:#8d8a82;
}

.nw-section-head>a{
  font-size:.88rem;
  font-weight:800;
  border-bottom:1px solid #111;
  padding-bottom:6px;
}

.nw-project-stack{
  border-top:1px solid #111;
}

.nw-project{
  display:block;
  min-height:78vh;
  border-bottom:1px solid #111;
  overflow:hidden;
}

.nw-project-yellow{background:#f6c928}
.nw-project-white{background:#fff}
.nw-project-black{background:#111;color:#fff}

.nw-project-inner{
  position:relative;
  min-height:78vh;
  padding-top:44px;
  padding-bottom:54px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:50px;
  align-items:center;
}

.nw-project-meta{
  position:absolute;
  top:34px;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
}

.nw-project-title{
  position:relative;
  z-index:3;
}

.nw-project-title h3{
  font-size:clamp(4.5rem,9vw,9rem);
  line-height:.78;
  letter-spacing:-.07em;
}

.nw-project-title p{
  max-width:460px;
  margin-top:30px;
  font-size:1rem;
}

.nw-project-window{
  align-self:center;
  background:#fff;
  border:2px solid #111;
  box-shadow:20px 20px 0 #111;
  min-height:350px;
  transform:rotate(4deg);
}

.mock-top{
  height:42px;
  padding:0 14px;
  border-bottom:1px solid #111;
  display:flex;
  align-items:center;
  gap:6px;
}

.mock-top i{
  width:8px;height:8px;border-radius:50%;background:#111;
}

.mock-hero{
  min-height:300px;
  padding:50px 38px;
  background:linear-gradient(140deg,#fff 0 70%,#f6c928 70%);
}

.mock-hero small{
  display:block;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:16px;
}

.mock-hero strong{
  max-width:330px;
  display:block;
  font-size:2.8rem;
  line-height:.95;
}

.nw-project-symbol{
  justify-self:center;
  font-size:clamp(10rem,24vw,22rem);
  line-height:1;
  font-weight:800;
  opacity:.16;
  transform:rotate(12deg);
}

.nw-marble-shape{
  justify-self:end;
  width:min(35vw,470px);
  aspect-ratio:1;
  border-radius:44% 56% 62% 38% / 39% 35% 65% 61%;
  background:
    linear-gradient(128deg,transparent 45%,rgba(246,201,40,.55) 46% 48%,transparent 49%),
    linear-gradient(62deg,#fff 0 48%,#bababa 49% 50%,#fff 51%);
  opacity:.85;
  transform:rotate(-8deg);
}

.nw-project-open{
  position:absolute;
  right:0;
  bottom:32px;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.1em;
}

/* AVRA */
.nw-avra{
  position:relative;
  overflow:hidden;
  background:#06172d;
  color:#fff;
  padding:120px 0;
}

.nw-avra:after{
  content:"";
  position:absolute;
  inset:auto -180px -260px auto;
  width:700px;
  height:700px;
  border:1px solid rgba(82,184,255,.22);
  border-radius:50%;
}

.nw-avra-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:center;
}

.nw-avra-word{
  font-size:clamp(5rem,11vw,10rem);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.07em;
  color:#fff;
  margin-bottom:34px;
}

.nw-avra-copy h2{
  font-size:clamp(2.5rem,5vw,4.8rem);
  line-height:.94;
  letter-spacing:-.055em;
}

.nw-avra-copy>p{
  max-width:560px;
  margin-top:26px;
  color:#b9c7d6;
  font-size:1rem;
}

.nw-text-link{
  display:inline-block;
  margin-top:32px;
  color:#52b8ff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  border-bottom:1px solid currentColor;
  padding-bottom:5px;
}

.nw-dashboard{
  min-height:470px;
  display:grid;
  grid-template-columns:120px 1fr;
  background:#0d2442;
  border:1px solid rgba(82,184,255,.35);
  box-shadow:26px 26px 0 rgba(0,0,0,.35);
  transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);
}

.dash-sidebar{
  background:#071426;
  padding:26px 20px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.dash-sidebar strong{
  color:#52b8ff;
  margin-bottom:18px;
}

.dash-sidebar span{
  width:100%;
  height:18px;
  border-radius:6px;
  background:#1a375e;
}

.dash-sidebar span.active{
  background:#1768ff;
}

.dash-main{
  padding:26px;
}

.dash-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.dash-top i{
  width:32px;height:32px;border-radius:50%;background:#52b8ff;
}

.dash-cards{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.dash-cards div{
  min-height:120px;
  padding:18px;
  background:#102e52;
  border:1px solid #1c497a;
}

.dash-cards small{
  display:block;color:#92a9c2;margin-bottom:25px;
}

.dash-cards strong{color:#52b8ff;font-size:1.4rem}

.dash-table{
  margin-top:18px;
  padding:20px;
  background:#0b213d;
  border:1px solid #1c497a;
}

.dash-table span{
  display:block;
  height:24px;
  margin:10px 0;
  background:#12375f;
}

/* PHILOSOPHY */
.nw-philosophy{
  padding:120px 0;
  background:#fff;
}

.nw-philosophy-line{
  display:grid;
  grid-template-columns:80px 1fr;
  align-items:center;
  gap:24px;
  padding:34px 0;
  border-top:1px solid #111;
}

.nw-philosophy-line:last-child{
  border-bottom:1px solid #111;
}

.nw-philosophy-line span{
  font-size:.78rem;
  font-weight:800;
}

.nw-philosophy-line h3{
  font-size:clamp(2.7rem,6vw,6rem);
  line-height:.96;
  letter-spacing:-.055em;
  transition:.2s ease;
}

.nw-philosophy-line:hover h3{
  transform:translateX(22px);
  color:#f6c928;
}

/* END CTA */
.nw-end{
  min-height:90vh;
  display:flex;
  align-items:center;
  background:#f6c928;
  border-top:1px solid #111;
  border-bottom:1px solid #111;
}

.nw-end-inner{
  padding:100px 0;
}

.nw-end h2{
  font-size:clamp(6rem,14vw,13rem);
  line-height:.72;
  letter-spacing:-.08em;
  font-weight:800;
}

.nw-end h2 span{
  color:transparent;
  -webkit-text-stroke:2px #111;
}

.nw-end-bottom{
  margin-top:70px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  border-top:1px solid #111;
  padding-top:26px;
}

.nw-end-bottom>a{
  font-weight:800;
  font-size:1.05rem;
}

.nw-end-bottom>div{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  font-size:.9rem;
}

/* Footer */
.nw-footer{
  background:#111;
  color:#fff;
}

.nw-footer .footer-brand img{
  background:#fff;
}

.nw-footer .footer-col a,
.nw-footer .footer-brand p,
.nw-footer .footer-bottom{
  color:#aaa;
}

.nw-footer .footer-col b{
  color:#f6c928;
}

.nw-footer .footer-bottom{
  border-color:#333;
}

/* motion hooks */
.home-v2 .reveal{
  opacity:0;
  transform:translateY(38px);
  transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);
}

.home-v2 .reveal.visible{
  opacity:1;
  transform:none;
}

/* responsive */
@media(max-width:1050px){
  .nw-hero-orbit{opacity:.45;right:-220px}
  .nw-discipline{
    min-height:65vh;
    grid-template-columns:55px 1fr 55px;
  }
  .nw-discipline-graphic{right:3%;opacity:.13}
  .nw-project-inner{grid-template-columns:1fr}
  .nw-project-window,.nw-project-symbol,.nw-marble-shape{
    position:absolute;
    right:4%;
    bottom:10%;
    width:40%;
    opacity:.18;
  }
  .nw-project-title{max-width:70%}
  .nw-avra-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .home-v2 .container{width:min(calc(100% - 28px),1240px)}
  .home-v2 .logo-link img{width:62px}
  .nw-hero{min-height:auto}
  .nw-hero-inner{padding:74px 0 54px}
  .nw-display{font-size:clamp(3.7rem,19vw,7rem)}
  .nw-display .yellow-word{text-shadow:5px 5px 0 #111}
  .nw-hero-bottom{grid-template-columns:1fr;gap:28px;margin-top:44px}
  .nw-circle-link{width:112px;height:112px}
  .nw-hero-orbit{display:none}
  .nw-marquee-track{font-size:3.4rem}
  .nw-discipline{
    min-height:68vh;
    padding:34px 20px 40px;
    grid-template-columns:42px 1fr 44px;
  }
  .nw-discipline-copy h2{font-size:clamp(4rem,18vw,6.8rem)}
  .nw-discipline-graphic{display:none}
  .nw-section-head{grid-template-columns:1fr;gap:24px;padding-bottom:42px}
  .nw-work{padding-top:82px}
  .nw-project,.nw-project-inner{min-height:68vh}
  .nw-project-inner{padding-top:70px}
  .nw-project-title{max-width:100%}
  .nw-project-title h3{font-size:clamp(4rem,17vw,6.5rem)}
  .nw-project-window,.nw-project-symbol,.nw-marble-shape{display:none}
  .nw-project-meta{top:28px}
  .nw-avra{padding:82px 0}
  .nw-dashboard{min-height:360px;grid-template-columns:78px 1fr;transform:none}
  .dash-sidebar{padding:20px 12px}
  .dash-cards{grid-template-columns:1fr;gap:10px;margin-top:28px}
  .dash-cards div{min-height:74px}
  .dash-cards small{margin-bottom:8px}
  .nw-philosophy{padding:82px 0}
  .nw-philosophy-line{grid-template-columns:42px 1fr}
  .nw-end{min-height:72vh}
  .nw-end h2{font-size:clamp(5rem,22vw,8rem)}
  .nw-end-bottom{flex-direction:column;align-items:flex-start}
  .nw-end-bottom>div{align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
  .nw-marquee-track{animation:none}
  .nw-philosophy-line:hover h3{transform:none}
}


/* ===== Hero mark replacement: giant NW ===== */
.nw-hero-mark{
  position:absolute;
  right:4.5%;
  top:50%;
  transform:translateY(-50%);
  width:min(40vw,520px);
  height:min(42vw,560px);
  pointer-events:none;
  user-select:none;
  z-index:1;
  opacity:.92;
}

.nw-hero-n,
.nw-hero-w{
  position:absolute;
  font-size:clamp(14rem,28vw,26rem);
  line-height:.78;
  font-weight:800;
  letter-spacing:-.1em;
}

.nw-hero-n{
  top:0;
  right:10%;
  color:transparent;
  -webkit-text-stroke:1.6px rgba(17,17,17,.18);
  text-stroke:1.6px rgba(17,17,17,.18);
}

.nw-hero-w{
  right:0;
  bottom:2%;
  color:rgba(17,17,17,.06);
  text-shadow:6px 6px 0 rgba(246,201,40,.72);
}

.nw-hero-accent{
  position:absolute;
  left:6%;
  top:16%;
  width:52%;
  height:52%;
  border:1px solid rgba(17,17,17,.15);
  border-radius:50%;
  transform:rotate(-12deg);
}

.nw-hero-accent::after{
  content:"";
  position:absolute;
  right:-8px;
  top:10px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#f6c928;
  box-shadow:0 0 0 5px #111;
}

.home-v2 .nw-hero-orbit{
  display:none !important;
}

@media(max-width:1050px){
  .nw-hero-mark{
    right:0;
    width:min(42vw,420px);
    height:min(44vw,450px);
    opacity:.72;
  }
}

@media(max-width:760px){
  .nw-hero-mark{
    width:58vw;
    height:54vw;
    right:-4%;
    top:auto;
    bottom:7%;
    transform:none;
    opacity:.34;
  }

  .nw-hero-n,
  .nw-hero-w{
    font-size:clamp(8rem,28vw,12rem);
  }

  .nw-hero-accent{
    left:8%;
    top:8%;
    width:46%;
    height:46%;
  }
}


/* ===== Step 4: cleaner sections + editorial web visual + Velora ===== */

/* no more section index numbers */
.nw-discipline{
  grid-template-columns:minmax(0,1fr) 70px;
}

.nw-discipline-copy{
  grid-column:1;
}

.nw-discipline-arrow{
  grid-column:2;
}

/* New web visual */
.graphic-web{
  width:min(46vw,620px);
  aspect-ratio:1.25;
  opacity:1 !important;
  right:5%;
}

.nw-browser-stack{
  position:relative;
  width:100%;
  height:100%;
}

.nw-browser-card{
  position:absolute;
  border:1px solid rgba(17,17,17,.65);
  background:#f8f6ef;
  box-shadow:14px 14px 0 rgba(17,17,17,.08);
}

.nw-browser-back{
  width:72%;
  height:64%;
  right:0;
  top:8%;
  transform:rotate(7deg);
  opacity:.55;
}

.nw-browser-front{
  width:78%;
  height:74%;
  left:0;
  bottom:2%;
  transform:rotate(-5deg);
  background:#fff;
}

.browser-bar{
  height:42px;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:6px;
  border-bottom:1px solid rgba(17,17,17,.35);
}

.browser-bar i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#111;
}

.browser-bar b{
  margin-left:auto;
  font-size:.58rem;
  letter-spacing:.12em;
}

.browser-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:24px;
}

.browser-grid span{
  min-height:74px;
  border:1px solid rgba(17,17,17,.25);
  background:linear-gradient(135deg,#fff 0 72%,#f6c928 72%);
}

.browser-hero-lines{
  padding:36px 34px;
}

.browser-hero-lines small{
  display:block;
  font-size:.62rem;
  letter-spacing:.16em;
  font-weight:800;
  margin-bottom:14px;
}

.browser-hero-lines strong{
  display:block;
  font-size:clamp(2rem,4vw,4.4rem);
  line-height:.82;
  letter-spacing:-.06em;
}

.browser-pill{
  display:inline-block;
  margin-top:28px;
  padding:10px 15px;
  border-radius:999px;
  background:#111;
  color:#f6c928;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
}

.nw-browser-badge{
  position:absolute;
  right:8%;
  top:44%;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111;
  color:#f6c928;
  border:2px solid #f6c928;
  font-size:1.35rem;
  box-shadow:0 0 0 8px rgba(246,201,40,.16);
  z-index:4;
}

/* Velora project */
.nw-project-velora{
  background:#efe9df;
  color:#111;
}

.nw-project-velora .nw-project-inner{
  overflow:hidden;
}

.nw-velora-visual{
  position:relative;
  justify-self:end;
  width:min(38vw,500px);
  aspect-ratio:.9;
}

.velora-sun{
  position:absolute;
  right:4%;
  top:0;
  width:68%;
  aspect-ratio:1;
  border-radius:50%;
  background:#d9b06f;
  opacity:.9;
}

.velora-card{
  position:absolute;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  border:1px solid rgba(17,17,17,.55);
  box-shadow:16px 16px 0 rgba(17,17,17,.08);
}

.velora-card-a{
  left:0;
  bottom:7%;
  width:62%;
  height:68%;
  background:
    linear-gradient(180deg,transparent 0 45%,rgba(17,17,17,.72) 100%),
    linear-gradient(135deg,#748b95,#d7d0c2 52%,#5b6c74);
  color:#fff;
  transform:rotate(-5deg);
}

.velora-card-a small{
  letter-spacing:.16em;
  font-size:.62rem;
  margin-bottom:10px;
}

.velora-card-a strong{
  font-size:2.3rem;
  line-height:.9;
}

.velora-card-b{
  right:0;
  top:30%;
  width:46%;
  height:48%;
  background:#111;
  color:#fff;
  transform:rotate(6deg);
}

.velora-card-b small{
  color:#d9b06f;
  letter-spacing:.16em;
  font-size:.62rem;
}

.velora-card-b span{
  margin-top:auto;
  font-size:2rem;
  font-weight:800;
  letter-spacing:-.05em;
}

@media(max-width:1050px){
  .nw-discipline{
    grid-template-columns:minmax(0,1fr) 55px;
  }
  .nw-velora-visual{
    position:absolute;
    right:4%;
    bottom:8%;
    width:40%;
    opacity:.22;
  }
}

@media(max-width:760px){
  .nw-discipline{
    grid-template-columns:minmax(0,1fr) 44px;
  }
  .graphic-web{
    display:none;
  }
  .nw-velora-visual{
    display:none;
  }
}


/* ===== Step 5: real project previews ===== */
.nw-project-preview{
  position:relative;
  justify-self:end;
  width:min(46vw,620px);
  border:1px solid rgba(17,17,17,.45);
  background:#fff;
  overflow:hidden;
  box-shadow:22px 22px 0 rgba(17,17,17,.12);
  transform:rotate(2.5deg);
  transition:transform .35s ease, box-shadow .35s ease;
}

.nw-project:nth-of-type(even) .nw-project-preview{
  transform:rotate(-2.2deg);
}

.nw-project-preview::before{
  content:"";
  display:block;
  height:28px;
  background:
    radial-gradient(circle at 16px 14px,#111 0 3px,transparent 3.5px),
    radial-gradient(circle at 28px 14px,#111 0 3px,transparent 3.5px),
    radial-gradient(circle at 40px 14px,#111 0 3px,transparent 3.5px),
    #f3f1ea;
  border-bottom:1px solid rgba(17,17,17,.3);
}

.nw-project-preview img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:top;
}

.nw-project:hover .nw-project-preview{
  transform:rotate(0) translateY(-8px);
  box-shadow:28px 28px 0 rgba(17,17,17,.17);
}

.nw-project-black .nw-project-preview{
  border-color:rgba(255,255,255,.25);
  box-shadow:22px 22px 0 rgba(246,201,40,.28);
}

/* AVRA real preview */
.nw-dashboard-preview{
  display:block;
  min-height:0;
  padding:0;
  background:#06172d;
  overflow:hidden;
  border:1px solid rgba(82,184,255,.35);
  box-shadow:26px 26px 0 rgba(0,0,0,.35);
}

.nw-dashboard-preview img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:top;
}

/* Portfolio card screenshots */
.portfolio-visual{
  overflow:hidden;
}

.portfolio-visual img{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:cover;
  object-position:top;
  transition:transform .35s ease;
}

.portfolio-card:hover .portfolio-visual img{
  transform:scale(1.025);
}

@media(max-width:1050px){
  .nw-project-preview{
    position:absolute;
    right:4%;
    bottom:10%;
    width:42%;
    opacity:.22;
  }
}

@media(max-width:760px){
  .nw-project-preview{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    margin-top:36px;
    opacity:1;
    transform:none !important;
    box-shadow:12px 12px 0 rgba(17,17,17,.1);
  }

  .nw-project-title{
    max-width:100%;
  }

  .nw-dashboard-preview{
    box-shadow:12px 12px 0 rgba(0,0,0,.35);
  }
}


/* ===== Step 6: Cancha Brava ===== */
.nw-project-cancha{
  background:#080808;
  color:#fff;
}

.nw-project-cancha .nw-project-preview{
  border-color:#e1bb2e;
  box-shadow:22px 22px 0 rgba(225,187,46,.22);
}

.nw-project-cancha .nw-project-meta,
.nw-project-cancha .nw-project-open{
  color:#e1bb2e;
}

.nw-project-cancha .nw-project-title p{
  color:#c8c8c8;
}


/* ===== Step 7: ARKA ===== */
.nw-project-arka{
  background:#efe9df;
  color:#111;
}

.nw-project-arka .nw-project-meta,
.nw-project-arka .nw-project-open{
  color:#111;
}

.nw-project-arka .nw-project-open{
  opacity:.55;
}

.arka-preview{
  position:relative;
  justify-self:end;
  width:min(47vw,640px);
}

.arka-shell{
  display:grid;
  grid-template-columns:145px 1fr;
  min-height:390px;
  background:#f7f3eb;
  border:1px solid rgba(17,17,17,.5);
  box-shadow:22px 22px 0 rgba(17,17,17,.12);
  transform:rotate(2deg);
  overflow:hidden;
}

.arka-shell aside{
  background:#171717;
  color:#fff;
  padding:26px 18px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.arka-shell aside strong{
  font-size:1.7rem;
  color:#d5b68d;
  margin-bottom:18px;
  letter-spacing:-.05em;
}

.arka-shell aside span{
  font-size:.72rem;
  color:#aaa;
}

.arka-shell aside span.active{
  color:#fff;
  font-weight:800;
}

.arka-shell section{
  padding:26px;
}

.arka-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:22px;
  border-bottom:1px solid rgba(17,17,17,.13);
}

.arka-top i{
  width:28px;
  height:28px;
  background:#d5b68d;
  border-radius:50%;
}

.arka-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:24px;
}

.arka-cards div{
  padding:16px;
  min-height:105px;
  background:#fff;
  border:1px solid rgba(17,17,17,.12);
}

.arka-cards small{
  display:block;
  color:#777;
  margin-bottom:18px;
}

.arka-cards strong{
  font-size:1.8rem;
}

.arka-chart{
  height:150px;
  margin-top:16px;
  padding:18px;
  display:flex;
  align-items:flex-end;
  gap:12px;
  background:#fff;
  border:1px solid rgba(17,17,17,.12);
}

.arka-chart span{
  flex:1;
  background:#d5b68d;
}

.arka-stamp{
  position:absolute;
  right:-18px;
  top:28px;
  transform:rotate(7deg);
  padding:10px 16px;
  border:2px solid #111;
  background:#f6c928;
  color:#111;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
}

.portfolio-card-arka{
  cursor:default;
}

.portfolio-visual-arka{
  background:#efe9df;
}

.arka-mini{
  width:100%;
  height:100%;
  min-height:260px;
  display:grid;
  grid-template-columns:28% 1fr;
  background:#f7f3eb;
}

.arka-mini-side{
  background:#171717;
  padding:22px 16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.arka-mini-side strong{
  color:#d5b68d;
  margin-bottom:12px;
}

.arka-mini-side i{
  height:10px;
  background:#3a3a3a;
  border-radius:999px;
}

.arka-mini-main{
  position:relative;
  padding:24px;
}

.arka-mini-main>span{
  display:block;
  width:42%;
  height:18px;
  background:#d5b68d;
  margin-bottom:24px;
}

.arka-mini-main>div{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.arka-mini-main b{
  display:block;
  min-height:70px;
  background:#fff;
  border:1px solid rgba(17,17,17,.13);
}

.arka-mini-main em{
  position:absolute;
  right:18px;
  bottom:18px;
  font-style:normal;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.1em;
  padding:8px 10px;
  background:#f6c928;
  border:1px solid #111;
}

@media(max-width:1050px){
  .arka-preview{
    position:absolute;
    right:4%;
    bottom:8%;
    width:42%;
    opacity:.2;
  }
}

@media(max-width:760px){
  .arka-preview{
    display:none;
  }
}


/* ===== Step 8: expanded portfolio previews ===== */
.portfolio-grid .portfolio-card .portfolio-visual{
  aspect-ratio:16/9;
  background:#ece9e1;
}

.portfolio-grid .portfolio-card .portfolio-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}


/* ===== Step 9: social + Smart Work + AVRA portfolio preview ===== */
.portfolio-card .portfolio-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:top center;
}


/* ===== Step 10: service cards with image previews ===== */
.service-grid{
  align-items:stretch;
}

.service-card,
.service-card.featured,
.service-card.dark{
  position:relative;
  overflow:hidden;
  min-height:420px;
  background:#f3f1ea !important;
  color:#111 !important;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:30px;
}

.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.service-card.accent-yellow::before{
  background:
    linear-gradient(135deg,#f6c928 0 24px,transparent 24px) top left/80px 80px no-repeat;
}

.service-card.accent-outline::before{
  width:64px;
  height:64px;
  inset:0 auto auto 0;
  border-top:10px solid #111;
  border-left:10px solid #111;
  background:transparent;
}

.service-card.accent-dark::before{
  background:
    linear-gradient(135deg,#111 0 24px,transparent 24px) top left/80px 80px no-repeat;
}

.service-card h3{
  position:relative;
  z-index:1;
  margin:0;
}

.service-card p{
  position:relative;
  z-index:1;
  margin:6px 0 0 0;
  max-width:280px;
}

.service-card-visual{
  position:relative;
  z-index:1;
  margin-top:18px;
  border:1px solid rgba(17,17,17,.18);
  background:#ebe7de;
  overflow:hidden;
  aspect-ratio:16/9;
}

.service-card-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.service-card span{
  position:relative;
  z-index:1;
  margin-top:auto;
  font-weight:800;
}

@media(max-width:1000px){
  .service-card,
  .service-card.featured,
  .service-card.dark{
    min-height:unset;
  }
}


/* ===== Step 11: textured backgrounds for service detail pages ===== */
body.page-bg-web .nw-discipline.web,
body.page-bg-branding .nw-discipline.branding,
body.page-bg-software .nw-discipline.software{
  position:relative;
  overflow:hidden;
}

body.page-bg-web .nw-discipline.web::before,
body.page-bg-branding .nw-discipline.branding::before,
body.page-bg-software .nw-discipline.software::before{
  content:"";
  position:absolute;
  inset:0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  pointer-events:none;
}

body.page-bg-web .nw-discipline.web::before{
  background-image:url("assets/bg-paginas-web.png");
  opacity:.22;
}

body.page-bg-branding .nw-discipline.branding::before{
  background-image:url("assets/bg-branding.png");
  opacity:.18;
}

body.page-bg-software .nw-discipline.software::before{
  background-image:url("assets/bg-software.png");
  opacity:.22;
  filter:contrast(1.05) brightness(.8);
}

body.page-bg-web .nw-discipline.web > *,
body.page-bg-branding .nw-discipline.branding > *,
body.page-bg-software .nw-discipline.software > *{
  position:relative;
  z-index:1;
}

body.page-bg-web .nw-discipline.web{
  background:#efeee8;
}

body.page-bg-branding .nw-discipline.branding{
  background:#f1c623;
}

body.page-bg-software .nw-discipline.software{
  background:#060606;
}


/* ===== Step 12 FIX: backgrounds on the 3 large HOME service sections ===== */
.home-v2 .nw-discipline.web,
.home-v2 .nw-discipline.identity,
.home-v2 .nw-discipline.software{
  isolation:isolate;
}

.home-v2 .nw-discipline.web::before,
.home-v2 .nw-discipline.identity::before,
.home-v2 .nw-discipline.software::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}

/* Páginas web — papel */
.home-v2 .nw-discipline.web{
  background:#efeee8;
}
.home-v2 .nw-discipline.web::before{
  background-image:
    linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,.42)),
    url("assets/bg-paginas-web.png");
  opacity:.78;
}

/* Identidad visual — amarillo con líneas */
.home-v2 .nw-discipline.identity{
  background:#f6c928;
}
.home-v2 .nw-discipline.identity::before{
  background-image:
    linear-gradient(rgba(246,201,40,.38),rgba(246,201,40,.38)),
    url("assets/bg-branding.png");
  opacity:.62;
}

/* Software — estrellas */
.home-v2 .nw-discipline.software{
  background:#080808;
}
.home-v2 .nw-discipline.software::before{
  background-image:
    linear-gradient(rgba(0,0,0,.26),rgba(0,0,0,.34)),
    url("assets/bg-software.png");
  opacity:.88;
}

/* Keep all content and the existing decorative graphics above the textures */
.home-v2 .nw-discipline > *{
  position:relative;
  z-index:2;
}
