/* =========================================================
   Nusuj Real Estate: design system
   Navy #192E41 / Beige #B4A08C / White
   ========================================================= */
:root{
  --n-navy:#192E41; --n-navy-900:#101F2D; --n-navy-800:#14263A; --n-navy-700:#22394F; --n-navy-500:#3D556B;
  --n-beige:#B4A08C; --n-beige-600:#9C8773; --n-beige-200:#E6DDD3; --n-beige-100:#F3EEE8; --n-sand:#F8F5F1;
  --n-white:#FFFFFF; --n-ink:#192E41; --n-muted:#5E6E7D; --n-line:#E7E1DA; --n-line-dark:rgba(255,255,255,.12);
  --n-radius:14px; --n-radius-lg:22px; --n-radius-sm:10px;
  --n-shadow:0 1px 2px rgba(25,46,65,.04),0 8px 28px rgba(25,46,65,.07);
  --n-shadow-lg:0 24px 60px rgba(25,46,65,.16);
  --n-font:'IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;
  --n-header-h:84px; --n-ease:cubic-bezier(.2,.7,.2,1);
  --n-gutter:24px; --n-max:1240px;
}
@media (max-width:767px){:root{--n-header-h:68px;--n-gutter:16px}}

/* ---------- base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--n-header-h) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.nusuj-site{font-family:var(--n-font);color:var(--n-ink);background:var(--n-white);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nusuj-site h1,body.nusuj-site h2,body.nusuj-site h3,body.nusuj-site h4,body.nusuj-site h5,body.nusuj-site h6,
body.nusuj-site .elementor-heading-title,body.nusuj-site .elementor-widget-text-editor,body.nusuj-site button,body.nusuj-site input,body.nusuj-site select,body.nusuj-site textarea{font-family:var(--n-font)}
body.nusuj-site h1,body.nusuj-site h2,body.nusuj-site h3{color:inherit;letter-spacing:0;line-height:1.3}
:where(body.nusuj-site) img{max-width:100%;height:auto}
body.nusuj-site a{text-decoration:none}
body.nusuj-site :focus-visible{outline:2px solid var(--n-beige);outline-offset:3px;border-radius:6px}
.n-container{width:100%;max-width:calc(var(--n-max) + var(--n-gutter)*2);margin-inline:auto;padding-inline:var(--n-gutter);box-sizing:border-box}
.n-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.n-skip{position:fixed;inset-inline-start:12px;top:-60px;z-index:10000;background:var(--n-navy);color:#fff!important;padding:10px 16px;border-radius:8px;transition:top .2s}
.n-skip:focus{top:12px}
#n-main{position:relative;top:calc(var(--n-header-h) * -1)}
.n-ico{flex:none;display:inline-block;vertical-align:middle}
bdi{unicode-bidi:isolate}

/* Astra / Elementor neutralisers */
body.nusuj-site .site-content>.ast-container{max-width:none;padding:0;display:block}
body.nusuj-site #primary,body.nusuj-site .site-main{margin:0!important;padding:0!important;width:100%}
body.nusuj-site .entry-header,body.nusuj-site .ast-breadcrumbs-wrapper{display:none}
body.nusuj-site:not(.n-has-hero) .site-content{padding-top:var(--n-header-h)}
body.nusuj-site .elementor-widget-shortcode>.elementor-widget-container{margin:0;padding:0}
body.nusuj-site .e-con.n-bare{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;padding:0!important}
body.nusuj-site .e-con.n-bare>.e-con-inner{max-width:none;padding:0}
body.nusuj-site .e-con.n-wrap>.e-con-inner{max-width:var(--n-max)}
body.nusuj-site .elementor-element.n-el-reset>.elementor-widget-container{margin:0;padding:0}

/* ---------- buttons ---------- */
.n-btn{--b-bg:var(--n-navy);--b-fg:#fff;--b-bd:var(--n-navy);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:12px;border:1.5px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg)!important;font:600 15px/1 var(--n-font);white-space:nowrap;cursor:pointer;transition:transform .35s var(--n-ease),background-color .25s,color .25s,border-color .25s,box-shadow .35s var(--n-ease)}
.n-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,31,45,.18)}
.n-btn .n-ico-arrow{width:18px;height:18px;transition:transform .35s var(--n-ease)}
.n-btn:hover .n-ico-arrow{transform:translateX(-4px)}
.n-btn--gold{--b-bg:var(--n-beige);--b-fg:var(--n-navy-900);--b-bd:var(--n-beige)}
.n-btn--gold:hover{--b-bg:#C2B09E;--b-bd:#C2B09E}
.n-btn--navy:hover{--b-bg:var(--n-navy-700);--b-bd:var(--n-navy-700)}
.n-btn--ghost-light{--b-bg:transparent;--b-fg:#fff;--b-bd:rgba(255,255,255,.45)}
.n-btn--ghost-light:hover{--b-bg:rgba(255,255,255,.1);--b-bd:#fff}
.n-btn--outline{--b-bg:transparent;--b-fg:var(--n-navy);--b-bd:var(--n-navy)}
.n-btn--outline:hover{--b-bg:var(--n-navy);--b-fg:#fff}
.n-btn--wa{--b-bg:#1F8F55;--b-bd:#1F8F55;--b-fg:#fff}
.n-btn--wa:hover{--b-bg:#1A7A49;--b-bd:#1A7A49}
.n-btn--block{width:100%}
.n-btn--sm{min-height:42px;padding:0 18px;font-size:14px}
.n-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--n-navy)!important;border-bottom:1.5px solid var(--n-beige);padding-bottom:3px;transition:gap .3s var(--n-ease),color .2s}
.n-link:hover{gap:12px;color:var(--n-beige-600)!important}
.n-link .n-ico{width:16px;height:16px}

/* ---------- header ---------- */
.n-header{position:fixed;inset:0 0 auto 0;z-index:999;height:var(--n-header-h);background:rgba(255,255,255,.97);box-shadow:0 1px 0 var(--n-line);transition:background-color .35s var(--n-ease),box-shadow .35s var(--n-ease),backdrop-filter .35s}
@supports (backdrop-filter:blur(10px)){.n-header{background:rgba(255,255,255,.9);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px)}}
body.admin-bar .n-header{top:32px}
@media (max-width:782px){body.admin-bar .n-header{top:46px}}
.n-header__inner{height:100%;display:flex;align-items:center;gap:28px}
.n-brand{display:flex;align-items:center;flex:none;height:100%}
.n-brand img{display:block;height:58px;width:auto}
@media (max-width:767px){.n-brand img{height:48px}}
.n-brand__light{display:none!important}
.n-header--overlay:not(.is-solid){background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.n-header--overlay:not(.is-solid)::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(180deg,rgba(16,31,45,.62),rgba(16,31,45,0));pointer-events:none;z-index:-1}
.n-header--overlay:not(.is-solid) .n-brand__light{display:block!important}
.n-header--overlay:not(.is-solid) .n-brand__dark{display:none!important}
.n-nav{flex:1;display:flex;justify-content:center;min-width:0}
.n-menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.n-menu a{position:relative;display:block;padding:10px 11px;font-size:15px;font-weight:500;color:var(--n-navy)!important;white-space:nowrap;border-radius:8px;transition:color .2s}
.n-menu a::after{content:"";position:absolute;inset-inline:11px;bottom:4px;height:2px;border-radius:2px;background:var(--n-beige);transform:scaleX(0);transform-origin:center;transition:transform .35s var(--n-ease)}
.n-menu a:hover::after,.n-menu .current-menu-item>a::after,.n-menu .is-active>a::after{transform:scaleX(1)}
.n-menu .current-menu-item>a,.n-menu .is-active>a{font-weight:600}
.n-header--overlay:not(.is-solid) .n-menu a{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.18)}
.n-menu .n-mi-contact{display:none}
.n-header__cta{flex:none}
.n-header--overlay:not(.is-solid) .n-header__cta{--b-bg:var(--n-beige);--b-bd:var(--n-beige)}
.n-burger{display:none;flex:none;margin-inline-start:auto;width:46px;height:46px;border:0;border-radius:12px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.n-burger__bar{display:block;width:22px;height:2px;border-radius:2px;background:var(--n-navy);transition:transform .3s,opacity .3s}
.n-header--overlay:not(.is-solid) .n-burger__bar{background:#fff}
.n-burger:hover{background:rgba(25,46,65,.06)}
@media (max-width:1219px){
  .n-nav,.n-header__cta{display:none}
  .n-burger{display:inline-flex}
  .n-header__inner{justify-content:space-between}
}

/* ---------- drawer ---------- */
.n-drawer{position:fixed;inset:0;z-index:1000;background:rgba(10,20,30,.5);opacity:0;transition:opacity .3s}
.n-drawer.is-open{opacity:1}
.n-drawer__panel{position:absolute;inset-block:0;inset-inline-start:0;width:min(88vw,380px);background:var(--n-navy);color:#fff;display:flex;flex-direction:column;gap:22px;padding:20px 24px 28px;overflow-y:auto;transform:translateX(100%);transition:transform .4s var(--n-ease)}
.n-drawer.is-open .n-drawer__panel{transform:none}
.n-drawer__top{display:flex;align-items:center;justify-content:space-between}
.n-drawer__top img{height:54px;width:auto;display:block}
.n-drawer__close{width:44px;height:44px;border:1px solid var(--n-line-dark);border-radius:12px;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.n-drawer__menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.n-drawer__menu a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;font-size:17px;font-weight:500;color:#fff!important;border-bottom:1px solid var(--n-line-dark)}
.n-drawer__menu .current-menu-item>a{color:var(--n-beige)!important}
.n-drawer__actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}
body.n-lock{overflow:hidden}

/* ---------- social ---------- */
.n-social{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.n-social__link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;transition:transform .3s var(--n-ease),background-color .25s,color .25s,border-color .25s}
.n-social--light .n-social__link{color:#fff!important;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
.n-social--light .n-social__link:hover{background:var(--n-beige);border-color:var(--n-beige);color:var(--n-navy-900)!important;transform:translateY(-3px)}
.n-social--dark .n-social__link{color:var(--n-navy)!important;border:1px solid var(--n-line);background:#fff}
.n-social--dark .n-social__link:hover{background:var(--n-navy);border-color:var(--n-navy);color:#fff!important;transform:translateY(-3px)}

/* ---------- section scaffolding ---------- */
.n-section{position:relative;padding-block:112px}
@media (max-width:1024px){.n-section{padding-block:88px}}
@media (max-width:767px){.n-section{padding-block:68px}}
.n-section--sand{background:var(--n-sand)}
.n-section--navy{background:var(--n-navy);color:#fff}
.n-head{max-width:720px;margin-bottom:52px}
.n-head--center{margin-inline:auto;text-align:center}
.n-head--split{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.n-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-size:14px;font-weight:600;color:var(--n-beige-600)}
.n-eyebrow::before{content:"";width:28px;height:2px;background:var(--n-beige);border-radius:2px}
.n-section--navy .n-eyebrow,.n-page-hero .n-eyebrow{color:var(--n-beige)}
.n-h2{margin:0;font-size:clamp(28px,3.2vw,42px);font-weight:700;line-height:1.3;color:var(--n-navy)}
.n-section--navy .n-h2{color:#fff}
.n-lead{margin:16px 0 0;font-size:clamp(16px,1.3vw,18px);line-height:1.9;color:var(--n-muted)}
.n-section--navy .n-lead{color:rgba(255,255,255,.78)}

/* reveal */
html.n-js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--n-ease),transform .8s var(--n-ease);transition-delay:var(--d,0s)}
html.n-js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.n-js [data-reveal]{opacity:1;transform:none;transition:none}}

/* ---------- hero (video) ---------- */
.n-hero{position:relative;height:100vh;height:100svh;min-height:600px;max-height:1100px;overflow:hidden;background:var(--n-navy-900);color:#fff;isolation:isolate}
.n-hero__media{position:absolute;inset:0;z-index:-2}
.n-hero__video,.n-hero__poster{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.n-hero__poster{position:absolute;inset:0}
.n-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(16,31,45,.86) 0%,rgba(16,31,45,.35) 30%,rgba(16,31,45,0) 55%)}
.n-hero__content{position:absolute;inset-inline:0;bottom:0;padding-bottom:clamp(40px,7vh,84px)}
.n-hero__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.n-hero__kicker{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.n-hero__kicker li{font-size:13px;font-weight:500;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.n-hero__title{margin:0;font-size:clamp(40px,5.4vw,76px)!important;font-weight:700;line-height:1.15!important;color:#fff!important}
.n-hero__slogan{margin:10px 0 0;font-size:clamp(18px,1.9vw,26px);font-weight:500;color:var(--n-beige)}
.n-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.n-hero__scroll{position:absolute;inset-inline-end:50%;bottom:18px;transform:translateX(50%);width:26px;height:42px;border:1.5px solid rgba(255,255,255,.5);border-radius:14px;display:flex;justify-content:center;padding-top:8px}
.n-hero__scroll::after{content:"";width:3px;height:8px;border-radius:2px;background:#fff;animation:n-scroll 1.8s infinite}
@keyframes n-scroll{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
@media (max-width:1024px){.n-hero__scroll{display:none}}
@media (max-width:767px){
  .n-hero{height:auto;min-height:0;max-height:none;padding-top:var(--n-header-h);background:linear-gradient(180deg,var(--n-navy-900) 0%,var(--n-navy) 100%)}
  .n-hero__media{position:relative;inset:auto;aspect-ratio:16/9;z-index:0}
  .n-hero__shade{display:none}
  .n-hero__content{position:relative;padding:28px 0 44px}
  .n-hero__inner{flex-direction:column;align-items:stretch}
  .n-hero__actions .n-btn{flex:1}
}
@media (min-width:768px) and (max-aspect-ratio:4/3){.n-hero{height:auto;min-height:0;aspect-ratio:16/10}}

/* ---------- page hero (inner pages) ---------- */
.n-page-hero{position:relative;padding:calc(var(--n-header-h) + 72px) 0 76px;background:var(--n-navy);color:#fff;overflow:hidden;isolation:isolate}
.n-page-hero__bg{position:absolute;inset:0;z-index:-2}
.n-page-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.n-page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(1200px 500px at 85% -10%,rgba(180,160,140,.22),transparent 60%),linear-gradient(180deg,rgba(16,31,45,.5),rgba(25,46,65,.92))}
.n-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;list-style:none;margin:0 0 18px;padding:0;font-size:14px;color:rgba(255,255,255,.7)}
.n-crumbs a{color:rgba(255,255,255,.85)!important}
.n-crumbs a:hover{color:var(--n-beige)!important}
.n-crumbs li+li::before{content:"‹";margin-inline-end:8px;opacity:.6}
.n-page-hero h1{margin:0;font-size:clamp(32px,4.2vw,56px)!important;font-weight:700;line-height:1.2!important;color:#fff!important;max-width:900px}
.n-page-hero__lead{margin:18px 0 0;max-width:720px;font-size:clamp(16px,1.35vw,19px);line-height:1.9;color:rgba(255,255,255,.82)}
.n-page-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
@media (max-width:767px){.n-page-hero{padding:calc(var(--n-header-h) + 44px) 0 52px}.n-page-hero__actions .n-btn{flex:1}}

/* ---------- about ---------- */
.n-about{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.n-about__text p{font-size:17px;line-height:2;color:var(--n-muted);margin:0 0 18px}
.n-about__text strong{color:var(--n-navy)}
.n-about__media{position:relative}
.n-about__img{border-radius:var(--n-radius-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--n-shadow-lg)}
.n-about__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--n-ease)}
.n-about__media:hover .n-about__img img{transform:scale(1.04)}
.n-about__badge{position:absolute;inset-inline-end:-28px;bottom:36px;background:var(--n-navy);color:#fff;padding:20px 24px;border-radius:var(--n-radius);box-shadow:var(--n-shadow-lg);border-inline-start:3px solid var(--n-beige)}
.n-about__badge b{display:block;font-size:30px;font-weight:700;color:var(--n-beige);line-height:1.2}
.n-about__badge span{font-size:14px;color:rgba(255,255,255,.8)}
.n-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border:1px solid var(--n-line);border-radius:var(--n-radius);background:#fff;overflow:hidden}
.n-stat{padding:22px 18px;border-inline-start:1px solid var(--n-line)}
.n-stat:first-child{border-inline-start:0}
.n-stat b{display:block;font-size:clamp(22px,2.2vw,30px);font-weight:700;color:var(--n-navy);line-height:1.25}
.n-stat span{display:block;margin-top:4px;font-size:13.5px;color:var(--n-muted);line-height:1.5}
.n-about__cta{margin-top:30px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
@media (max-width:1024px){.n-about{grid-template-columns:1fr;gap:48px}.n-about__img{aspect-ratio:16/10}.n-about__badge{inset-inline-end:20px}}
@media (max-width:767px){.n-stats{grid-template-columns:repeat(2,1fr)}.n-stat:nth-child(3){border-inline-start:0}.n-stat:nth-child(n+3){border-top:1px solid var(--n-line)}.n-about__badge{position:static;margin-top:-40px;margin-inline:16px;position:relative}}

/* ---------- services ---------- */
.n-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.n-service{position:relative;display:flex;flex-direction:column;padding:34px 30px 30px;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius-lg);transition:transform .45s var(--n-ease),box-shadow .45s var(--n-ease),border-color .3s;overflow:hidden}
.n-service::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--n-beige);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--n-ease)}
.n-service:hover{transform:translateY(-6px);box-shadow:var(--n-shadow-lg);border-color:transparent}
.n-service:hover::before{transform:scaleX(1)}
.n-service__icon{width:104px;height:104px;border-radius:20px;background:var(--n-beige-100);display:flex;align-items:center;justify-content:center;margin-bottom:24px;overflow:hidden}
.n-service__icon img{width:92px;height:92px;object-fit:contain;transition:transform .5s var(--n-ease)}
.n-service:hover .n-service__icon img{transform:scale(1.06)}
.n-service h3{margin:0 0 12px;font-size:22px;font-weight:700;color:var(--n-navy)}
.n-service p{margin:0 0 20px;font-size:15.5px;line-height:1.9;color:var(--n-muted)}
.n-service ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:8px}
.n-service li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;color:var(--n-ink)}
.n-service li .n-ico{width:16px;height:16px;margin-top:4px;color:var(--n-beige-600)}
.n-service .n-link{margin-top:auto;align-self:flex-start}
.n-service__stretch::after{content:"";position:absolute;inset:0}
.n-subservices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.n-subservice{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--n-line);border-radius:var(--n-radius);background:#fff;color:var(--n-navy)!important;font-weight:600;transition:border-color .25s,transform .35s var(--n-ease)}
.n-subservice img{width:52px;height:52px;object-fit:contain;flex:none}
.n-subservice:hover{border-color:var(--n-beige);transform:translateY(-3px)}
@media (max-width:1024px){.n-services,.n-subservices{grid-template-columns:1fr 1fr}.n-services .n-service:last-child{grid-column:1/-1}}
@media (max-width:767px){.n-services,.n-subservices{grid-template-columns:1fr}.n-service{padding:28px 22px}}

/* ---------- projects ---------- */
.n-filter{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid var(--n-line);border-radius:999px;background:#fff;width:max-content;max-width:100%}
.n-filter button{border:0;background:transparent;padding:10px 20px;border-radius:999px;font:500 15px/1 var(--n-font);color:var(--n-muted);cursor:pointer;transition:background-color .25s,color .25s}
.n-filter button:hover{color:var(--n-navy)}
.n-filter button[aria-pressed="true"]{background:var(--n-navy);color:#fff}
@media (max-width:767px){.n-filter{border-radius:16px;width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.n-filter::-webkit-scrollbar{display:none}.n-filter button{flex:none}}
.n-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.n-project{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius-lg);overflow:hidden;transition:transform .45s var(--n-ease),box-shadow .45s var(--n-ease),opacity .35s}
.n-project:hover{transform:translateY(-6px);box-shadow:var(--n-shadow-lg)}
.n-project[hidden]{display:none}
.n-project.is-fading{opacity:0}
.n-project__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--n-beige-100)}
.n-project__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--n-ease)}
.n-project:hover .n-project__img img{transform:scale(1.06)}
.n-project__type{position:absolute;top:14px;inset-inline-start:14px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--n-navy);font-size:13px;font-weight:600}
.n-project__body{display:flex;flex-direction:column;gap:12px;padding:22px 22px 24px;flex:1}
.n-project__title{margin:0;font-size:20px;font-weight:700;color:var(--n-navy)}
.n-project__title a{color:inherit!important}
.n-project__title a::after{content:"";position:absolute;inset:0}
.n-project__meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--n-muted)}
.n-project__meta li{display:inline-flex;align-items:center;gap:6px}
.n-project__meta .n-ico{width:16px;height:16px;color:var(--n-beige-600)}
.n-project__desc{margin:0;font-size:14.5px;line-height:1.8;color:var(--n-muted)}
.n-project__price{font-weight:700;color:var(--n-navy)}
.n-project .n-link{margin-top:auto;align-self:flex-start;position:relative;z-index:1}
.n-empty{margin-top:28px;padding:36px;border:1px dashed var(--n-beige);border-radius:var(--n-radius-lg);text-align:center;color:var(--n-muted);background:var(--n-sand)}
@media (max-width:1024px){.n-projects{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.n-projects{grid-template-columns:1fr}}

/* ---------- licenses ---------- */
.n-licenses{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.n-license{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:30px 28px;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius-lg);transition:transform .45s var(--n-ease),box-shadow .45s var(--n-ease),border-color .3s}
.n-license:hover{transform:translateY(-5px);box-shadow:var(--n-shadow);border-color:var(--n-beige)}
.n-license__icon{width:54px;height:54px;border-radius:14px;background:var(--n-navy);color:var(--n-beige);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.n-license__icon .n-ico{width:26px;height:26px}
.n-license__tag{font-size:13px;font-weight:600;color:var(--n-beige-600);margin-bottom:6px}
.n-license h3{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--n-navy)}
.n-license__org{margin:0 0 18px;font-size:14px;color:var(--n-muted)}
.n-license dl{width:100%;margin:0 0 22px;padding:14px 16px;border-radius:12px;background:var(--n-sand);display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px}
.n-license dt{color:var(--n-muted)}
.n-license dd{margin:0;font-weight:600;color:var(--n-navy)}
.n-license .n-btn{margin-top:auto;width:100%}
@media (max-width:1024px){.n-licenses{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.n-licenses{grid-template-columns:1fr}}
.n-modal{border:0;padding:0;background:transparent;max-width:min(92vw,620px);max-height:92vh;overflow:visible}
.n-modal::backdrop{background:rgba(10,20,30,.72);backdrop-filter:blur(4px)}
.n-modal__box{position:relative;background:#fff;border-radius:16px;padding:12px;box-shadow:var(--n-shadow-lg)}
.n-modal__box img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain;border-radius:8px}
.n-modal__close{position:absolute;top:-16px;inset-inline-end:-16px;width:42px;height:42px;border-radius:50%;border:0;background:var(--n-beige);color:var(--n-navy-900);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--n-shadow)}
@media (max-width:767px){.n-modal__close{top:-50px;inset-inline-end:0}}

/* ---------- CEO ---------- */
.n-ceo{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}
.n-ceo__photo{position:relative;border-radius:var(--n-radius-lg);overflow:hidden;aspect-ratio:4/5;background:var(--n-navy-700)}
.n-ceo__photo img{width:100%;height:100%;object-fit:cover;display:block}
.n-ceo__photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(180,160,140,.4);border-radius:inherit;pointer-events:none}
.n-ceo__frame{position:relative}
.n-ceo__frame::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1.5px solid var(--n-beige);border-radius:var(--n-radius-lg);opacity:.55}
.n-ceo__quote{position:relative;margin:0;padding:0;border:0;font-style:normal}.n-ceo__quote p{font-style:normal}
.n-ceo__quote::before{content:"”";position:absolute;top:-58px;inset-inline-start:-6px;font-size:140px;line-height:1;color:var(--n-beige);opacity:.35;font-family:Georgia,serif}
.n-ceo__quote p,.n-ceo__text p{font-size:clamp(17px,1.45vw,20px);line-height:2.05;color:rgba(255,255,255,.88);margin:0 0 16px}
.n-ceo__sign{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--n-line-dark)}
.n-ceo__sign b{display:block;color:#fff;font-size:17px}
.n-ceo__sign span{color:var(--n-beige);font-size:14px}
@media (max-width:1024px){.n-ceo{grid-template-columns:1fr;gap:56px}.n-ceo__frame{max-width:420px}}
@media (max-width:767px){.n-ceo__frame::before{inset:14px -10px -14px 10px}}

/* ---------- clients ---------- */
.n-clients{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;margin:0;padding:0}
.n-client{display:flex;align-items:center;justify-content:center;height:128px;padding:20px 26px;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius);transition:transform .4s var(--n-ease),box-shadow .4s var(--n-ease),border-color .3s}
.n-client:hover{transform:translateY(-4px);box-shadow:var(--n-shadow);border-color:var(--n-beige-200)}
.n-client img{max-height:84px;max-width:100%;width:auto;height:auto;object-fit:contain}
@media (max-width:1024px){.n-clients{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.n-clients{grid-template-columns:repeat(2,1fr);gap:12px}.n-client{height:100px;padding:14px}.n-client img{max-height:66px}}

/* ---------- locations ---------- */
.n-locations{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.n-location{display:flex;flex-direction:column;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius-lg);overflow:hidden;transition:box-shadow .4s var(--n-ease)}
.n-location:hover{box-shadow:var(--n-shadow-lg)}
.n-location__map{position:relative;aspect-ratio:16/9;background:var(--n-beige-100)}
.n-location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.9)}
.n-location__body{display:flex;flex-direction:column;gap:10px;padding:24px 26px 26px}
.n-location__tag{font-size:13px;font-weight:600;color:var(--n-beige-600)}
.n-location h3{margin:0;font-size:21px;font-weight:700;color:var(--n-navy)}
.n-location p{margin:0;display:flex;gap:8px;align-items:flex-start;color:var(--n-muted);font-size:15px;line-height:1.8}
.n-location p .n-ico{width:18px;height:18px;margin-top:4px;color:var(--n-beige-600)}
.n-location .n-btn{margin-top:8px;align-self:flex-start}
@media (max-width:767px){.n-locations{grid-template-columns:1fr}.n-location .n-btn{align-self:stretch}}

/* ---------- CTA band ---------- */
.n-cta{position:relative;overflow:hidden;border-radius:28px;padding:64px clamp(24px,5vw,72px);background:var(--n-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;isolation:isolate}
.n-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 320px at 10% 120%,rgba(180,160,140,.3),transparent 60%),radial-gradient(500px 260px at 95% -20%,rgba(255,255,255,.08),transparent 60%)}
.n-cta h2{margin:0;font-size:clamp(26px,2.8vw,38px);font-weight:700;color:#fff}
.n-cta p{margin:12px 0 0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.8;max-width:560px}
.n-cta__actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:767px){.n-cta{border-radius:20px;padding:40px 22px}.n-cta__actions{width:100%}.n-cta__actions .n-btn{flex:1}}

/* ---------- prose / service content ---------- */
.n-prose{font-size:17px;line-height:2;color:var(--n-muted)}
.n-prose h2{margin:56px 0 18px;font-size:clamp(24px,2.4vw,32px);font-weight:700;color:var(--n-navy)}
.n-prose h2:first-child{margin-top:0}
.n-prose h3{margin:0 0 8px;font-size:19px;font-weight:700;color:var(--n-navy)}
.n-prose p{margin:0 0 16px}
.n-prose a{color:var(--n-navy);font-weight:600;border-bottom:1.5px solid var(--n-beige)}
.n-prose a:hover{color:var(--n-beige-600)}
.n-prose ul{margin:0 0 16px;padding-inline-start:0;list-style:none;display:grid;gap:10px}
.n-prose ul li{position:relative;padding-inline-start:28px}
.n-prose ul li::before{content:"";position:absolute;inset-inline-start:2px;top:12px;width:12px;height:6px;border-inline-start:2px solid var(--n-beige-600);border-bottom:2px solid var(--n-beige-600);transform:rotate(-45deg)}
.n-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.n-intro__img{border-radius:var(--n-radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--n-shadow-lg)}
.n-intro__img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1024px){.n-intro{grid-template-columns:1fr;gap:40px}}
.n-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none}
.n-features--2{grid-template-columns:repeat(2,1fr)}
.n-feature{padding:28px 26px;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius-lg);transition:transform .4s var(--n-ease),box-shadow .4s var(--n-ease),border-color .3s}
.n-feature:hover{transform:translateY(-4px);box-shadow:var(--n-shadow);border-color:var(--n-beige-200)}
.n-feature__num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--n-navy);color:var(--n-beige);font-weight:700;margin-bottom:16px}
.n-feature h3{margin:0 0 8px;font-size:18.5px;font-weight:700;color:var(--n-navy)}
.n-feature p{margin:0;font-size:15px;line-height:1.85;color:var(--n-muted)}
@media (max-width:1024px){.n-features{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.n-features,.n-features--2{grid-template-columns:1fr}}
.n-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--n-line-dark)}
.n-benefit{padding:28px 24px 0;border-inline-start:1px solid var(--n-line-dark)}
.n-benefit:first-child{border-inline-start:0;padding-inline-start:0}
.n-benefit b{display:block;font-size:18px;color:#fff;margin-bottom:8px}
.n-benefit span{font-size:15px;line-height:1.8;color:rgba(255,255,255,.72)}
@media (max-width:1024px){.n-benefits{grid-template-columns:1fr 1fr}.n-benefit{padding:24px 20px}.n-benefit:nth-child(3){border-inline-start:0;padding-inline-start:0}}
@media (max-width:767px){.n-benefits{grid-template-columns:1fr}.n-benefit{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--n-line-dark)}}

/* ---------- FAQ ---------- */
.n-faq{display:grid;gap:12px;max-width:880px}
.n-faq details{background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius);transition:border-color .25s,box-shadow .3s}
.n-faq details[open]{border-color:var(--n-beige);box-shadow:var(--n-shadow)}
.n-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;font-size:17px;font-weight:600;color:var(--n-navy)}
.n-faq summary::-webkit-details-marker{display:none}
.n-faq summary::after{content:"";flex:none;width:12px;height:12px;border-inline-start:2px solid var(--n-beige-600);border-bottom:2px solid var(--n-beige-600);transform:rotate(-45deg);transition:transform .3s}
.n-faq details[open] summary::after{transform:rotate(135deg)}
.n-faq details p{margin:0;padding:0 22px 22px;font-size:16px;line-height:1.9;color:var(--n-muted)}

/* ---------- contact ---------- */
.n-contact{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:start}
.n-card{background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--n-shadow)}
.n-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.n-field{display:flex;flex-direction:column;gap:8px}
.n-field--full{grid-column:1/-1}
.n-field label,.n-field legend{font-size:14.5px;font-weight:600;color:var(--n-navy)}
.n-field .n-req{color:#B4453A}
.n-input{width:100%;box-sizing:border-box;height:52px;padding:0 16px;border:1.5px solid var(--n-line);border-radius:12px;background:var(--n-sand);font:500 16px var(--n-font);color:var(--n-ink);transition:border-color .2s,background-color .2s,box-shadow .2s}
.n-input:focus{outline:0;border-color:var(--n-navy);background:#fff;box-shadow:0 0 0 4px rgba(25,46,65,.08)}
.n-input[aria-invalid="true"]{border-color:#B4453A;background:#FDF6F5}
.n-field fieldset{border:0;margin:0;padding:0}
.n-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.n-choice{position:relative}
.n-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.n-choice span{display:flex;align-items:center;justify-content:center;height:52px;border:1.5px solid var(--n-line);border-radius:12px;background:var(--n-sand);font-weight:600;color:var(--n-muted);transition:all .2s}
.n-choice input:checked+span{border-color:var(--n-navy);background:var(--n-navy);color:#fff}
.n-choice input:focus-visible+span{outline:2px solid var(--n-beige);outline-offset:2px}
.n-err{min-height:0;font-size:13.5px;color:#B4453A}
.n-err:empty{display:none}
.n-form__foot{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.n-form__note{font-size:13.5px;color:var(--n-muted)}
.n-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;opacity:0}
.n-alert{grid-column:1/-1;padding:14px 16px;border-radius:12px;font-size:15px}
.n-alert--err{background:#FDF1EF;color:#8C2F24}
.n-success{text-align:center;padding:24px 8px}
.n-success__icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#EAF5EE;color:#1F8F55;display:flex;align-items:center;justify-content:center}
.n-success__icon .n-ico{width:34px;height:34px}
.n-success h3{margin:0 0 8px;font-size:24px;color:var(--n-navy)}
.n-success p{margin:0 0 22px;color:var(--n-muted);line-height:1.9}
.n-btn.is-loading{pointer-events:none;opacity:.7}
.n-info{display:grid;gap:14px}
.n-info__item{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid var(--n-line);border-radius:var(--n-radius);color:var(--n-navy)!important;transition:border-color .25s,transform .35s var(--n-ease)}
.n-info__item:hover{border-color:var(--n-beige);transform:translateY(-2px)}
.n-info__icon{width:48px;height:48px;border-radius:12px;background:var(--n-navy);color:var(--n-beige);display:flex;align-items:center;justify-content:center;flex:none}
.n-info__icon .n-ico{width:22px;height:22px}
.n-info__item small{display:block;font-size:13px;color:var(--n-muted)}
.n-info__item b{display:block;font-size:17px;font-weight:700}
.n-info__social{padding:22px 20px;border-radius:var(--n-radius);background:var(--n-navy);color:#fff}
.n-info__social p{margin:0 0 14px;font-weight:600}
.n-info__social .n-handle{color:var(--n-beige)}
@media (max-width:1024px){.n-contact{grid-template-columns:1fr}}
@media (max-width:767px){.n-form{grid-template-columns:1fr}.n-form__foot .n-btn{width:100%}}

/* ---------- single project ---------- */
.n-proj-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:start}
.n-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.n-gallery a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.n-gallery a:first-child{grid-column:1/-1;aspect-ratio:16/9}
.n-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--n-ease)}
.n-gallery a:hover img{transform:scale(1.05)}
.n-proj-facts{position:sticky;top:calc(var(--n-header-h) + 20px)}
.n-proj-facts dl{display:grid;gap:0;margin:0 0 22px}
.n-proj-facts dl>div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--n-line);font-size:15px}
.n-proj-facts dt{color:var(--n-muted)}
.n-proj-facts dd{margin:0;font-weight:700;color:var(--n-navy);text-align:end}
.n-proj-facts .n-btn{width:100%;margin-top:10px}
@media (max-width:1024px){.n-proj-layout{grid-template-columns:1fr}.n-proj-facts{position:static}}
@media (max-width:767px){.n-gallery{grid-template-columns:repeat(2,1fr)}}

/* ---------- footer ---------- */
.n-footer{background:var(--n-navy-900);color:rgba(255,255,255,.72);padding:84px 0 0;font-size:15px}
.n-footer__grid{display:grid;grid-template-columns:1.3fr .8fr 1fr 1.3fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--n-line-dark)}
.n-footer__logo img{display:block;height:92px;width:auto;margin-bottom:18px}
.n-footer__brand p{margin:0 0 12px;line-height:1.9}
.n-footer__fal{display:inline-block;margin-top:6px!important;padding:6px 12px;border:1px solid rgba(180,160,140,.4);border-radius:999px;color:var(--n-beige);font-size:13px}
.n-footer__title{margin:0 0 18px!important;font-size:16px!important;font-weight:700;color:#fff!important}
.n-footer__links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.n-footer__links a{color:rgba(255,255,255,.72)!important;transition:color .2s,padding .3s var(--n-ease)}
.n-footer__links a:hover{color:var(--n-beige)!important;padding-inline-start:4px}
.n-footer__contact{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.n-footer__contact a{display:grid;grid-template-columns:20px auto 1fr;align-items:start;gap:4px 10px;color:rgba(255,255,255,.8)!important}
.n-footer__contact .n-ico{color:var(--n-beige);margin-top:3px}
.n-footer__contact span{color:rgba(255,255,255,.55);font-size:14px}
.n-footer__contact bdi,.n-footer__addr{grid-column:2/-1;justify-self:start;color:#fff;font-weight:500}
.n-footer__contact a:hover bdi{color:var(--n-beige)}
.n-footer__social{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:28px 0;border-bottom:1px solid var(--n-line-dark)}
.n-footer__social p{margin:0;color:#fff}
.n-handle{color:var(--n-beige);font-weight:600}
.n-footer__bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:22px 0 26px;font-size:13.5px;color:rgba(255,255,255,.5)}
.n-footer__bottom p{margin:0}
@media (max-width:1024px){.n-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.n-footer{padding-top:60px}.n-footer__grid{grid-template-columns:1fr;gap:34px}.n-footer__social{flex-direction:column;align-items:flex-start}}

/* hide duplicate floating chat on small screens while drawer open */
body.n-lock .wa__btn_popup,body.n-lock #wa{display:none!important}

:where(body.nusuj-site) .n-about__text p a,:where(body.nusuj-site) .n-prose a:not(.n-btn),:where(body.nusuj-site) .n-intro p a,:where(body.nusuj-site) .n-faq a:not(.n-btn){color:var(--n-navy)!important;font-weight:600;text-decoration:underline;text-decoration-color:var(--n-beige);text-underline-offset:4px}

.n-footer__wa{margin-top:18px;align-self:flex-start}

.n-input[type=date],.n-input[type=time]{direction:ltr;text-align:right}

/* hi-res logo */
:root{--n-header-h:116px}
.n-brand img{height:96px}
@media (max-width:767px){:root{--n-header-h:84px}.n-brand img{height:66px}}
:where(body.nusuj-site) img.n-brand__drawer{height:64px;width:auto}
:where(body.nusuj-site) img.n-logo--beige{height:104px;width:auto}

/* hero kicker links */
.n-hero__kicker li{padding:0}
.n-hero__kicker a{display:block;padding:7px 14px;border-radius:999px;color:#fff!important;text-decoration:none!important;transition:background .2s,border-color .2s}
.n-hero__kicker li:hover{background:rgba(180,160,140,.35);border-color:var(--n-beige)}
.n-hero__kicker a:focus-visible{outline:2px solid var(--n-beige);outline-offset:2px}
body.nusuj-site .n-hero .n-hero__title{padding-bottom:.18em!important}
body.nusuj-site .n-hero .n-hero__slogan{margin-top:18px!important;line-height:1.5}

/* modal close fix */
body.nusuj-site .n-modal .n-modal__close{position:absolute!important;top:12px!important;inset-inline-end:12px!important;left:auto;width:40px!important;height:40px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;border:1px solid rgba(25,46,65,.15)!important;background:#fff!important;color:#192E41!important;display:flex!important;align-items:center;justify-content:center;line-height:1!important;font-size:0!important;box-shadow:0 4px 14px rgba(10,20,30,.18)!important;z-index:2;transition:background .2s,color .2s}
body.nusuj-site .n-modal .n-modal__close:hover,body.nusuj-site .n-modal .n-modal__close:focus-visible{background:#192E41!important;color:#fff!important}
body.nusuj-site .n-modal .n-modal__close svg{width:20px!important;height:20px!important;display:block;flex:none}
body.nusuj-site .n-modal .n-modal__close svg path{stroke:currentColor;stroke-width:2.2}
