/* بداية جديدة identity v2 — black, warm gold, and ivory */
:root {
	--ns-gold: var(--ns-teal, #f5c842);
	--ns-gold-deep: var(--ns-coral, #d89f16);
	--ns-ink: var(--ns-navy, #111111);
	--ns-ink-deep: var(--ns-navy-deep, #070707);
	--ns-ivory: #fffaf0;
	--ns-warm: #f8f4e9;
	--ns-text: #25231f;
	--ns-muted: #706c63;
	--ns-line: #e9e0ca;
	--ns-teal-soft: #fff5cc;
	--ns-mint: #ffe38a;
	--ns-coral-dark: #b77b06;
	--ns-shadow: 0 28px 80px rgba(21,18,11,.14);
	--ns-shadow-sm: 0 14px 38px rgba(21,18,11,.09);
	--ns-motion-duration: .75s;
	--ns-motion-distance: 28px;
}

.ns-shortcode-site { background: var(--ns-ivory); }
.ns-shortcode-site, html:has(body.ns-shortcode-site) { overflow-x: hidden; }
.ns-shortcode-site .ns-section { width: 100%; margin-inline: 0 !important; }
.ns-section h1, .ns-section h2, .ns-section h3, .ns-site-header strong { color: var(--ns-ink); }
.ns-section p { color: var(--ns-muted); }
.ns-eyebrow { color: #b47b08; }
.ns-eyebrow::before { background: linear-gradient(90deg,var(--ns-gold-deep),var(--ns-gold)); }
.ns-icon-box { color: var(--ns-ink); background: linear-gradient(145deg,#fff8dc,var(--ns-gold)); box-shadow: inset 0 0 0 1px rgba(17,17,17,.06); }

/* Header */
.ns-site-header { border-top: 4px solid var(--ns-gold); border-bottom-color: rgba(17,17,17,.09); background: rgba(255,255,255,.94); backdrop-filter: blur(18px); }
.ns-site-header { width: 100%; margin-inline: 0; }
.ns-header-inner { min-height: 88px; }
.ns-brand-logo { max-width: 238px; height: 70px; }
.ns-brand-logo-bundled { width: 225px; }
.ns-primary-nav { gap: 24px; }
.ns-primary-nav a { color: #292722; font-size: 14px; }
.ns-primary-nav a::after { height: 3px; bottom: 18px; background: var(--ns-gold); }
.ns-primary-nav a:hover, .ns-primary-nav a[aria-current="page"] { color: #9a6908; }
.ns-header-cta { color: #111 !important; border: 1px solid #e0ad24; background: linear-gradient(135deg,#ffe57c,var(--ns-gold)); box-shadow: 0 10px 25px rgba(216,159,22,.22); }
.ns-menu-toggle { background: #fff2bd; }
.ns-menu-toggle span { background: #111; }

/* Buttons */
.ns-button { border-radius: 13px; }
.ns-button-primary, .ns-button-accent { color: #111 !important; background: linear-gradient(135deg,#ffe372,var(--ns-gold-deep)); box-shadow: 0 13px 30px rgba(216,159,22,.24); }
.ns-button-primary:hover, .ns-button-accent:hover { color: #111 !important; background: linear-gradient(135deg,#ffeb96,#e6ad22); }
.ns-button-outline { color: #111 !important; border-color: #d9bd71; background: rgba(255,255,255,.75); }
.ns-button-outline:hover { color: #8d6209 !important; border-color: var(--ns-gold-deep); }

/* Hero */
.ns-hero { min-height:calc(100vh - var(--ns-header-height,92px)); min-height:calc(100svh - var(--ns-header-height,92px)); background:radial-gradient(circle at 82% 22%,rgba(245,200,66,.18),transparent 24%),linear-gradient(135deg,#070707,#17150f 64%,#25200f); }
.ns-hero::before { content: ""; position: absolute; inset: 0; opacity: .055; background-image: repeating-linear-gradient(120deg,transparent 0 42px,#fff 43px 44px); }
.ns-hero::after { border-color: rgba(245,200,66,.16); }
.ns-orb-one { background: var(--ns-gold); opacity: .25; }
.ns-orb-two { background: #fff3b2; opacity: .12; }
.ns-hero-copy h1 { color: #fff; text-wrap: balance; }
.ns-hero-copy h1::after { content: ""; display: block; width: 96px; height: 5px; margin-top: 22px; border-radius: 5px; background: linear-gradient(90deg,var(--ns-gold),transparent); }
.ns-hero-lead { color: rgba(255,255,255,.72) !important; }
.ns-eyebrow-light { color: var(--ns-gold); }
.ns-button-ghost { border-color: rgba(245,200,66,.45); background: rgba(245,200,66,.05); }
.ns-button-ghost:hover { border-color: var(--ns-gold); background: rgba(245,200,66,.1); }
.ns-hero-points .ns-icon { color: var(--ns-gold); }
.ns-visual-main { border: 1px solid rgba(245,200,66,.48); box-shadow: 0 38px 100px rgba(0,0,0,.5); }
.ns-visual-top { color: #111; }
.ns-status { color: #795000; background: #fff3c0; }
.ns-status i { background: var(--ns-gold-deep); box-shadow: 0 0 0 4px rgba(216,159,22,.15); }
.ns-progress-figure { isolation: isolate; background: linear-gradient(145deg,#fffdf7,#fff3c5); }
.ns-hero-photo { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.ns-hero-brand-mark { position: relative; z-index: 2; width: 72%; height: 72%; object-fit: contain; filter: drop-shadow(0 18px 20px rgba(0,0,0,.08)); }
.ns-hero-motion { position: absolute; z-index: 4; left: 13px; bottom: 13px; width: 96px; height: 96px; padding: 7px; border: 3px solid #fff; border-radius: 22px; object-fit: contain; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.ns-progress-rings { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.ns-progress-rings i { border-color: rgba(245,200,66,.22); }
.ns-progress-figure.ns-hero-frame-has-slider { height: 300px; overflow: visible; background: transparent; }
.ns-progress-figure.ns-hero-frame-has-slider::before,
.ns-hero-frame-has-slider .ns-progress-rings { display: none; }
.ns-page-hero-frame.ns-hero-frame-has-slider { overflow: hidden; border-color: rgba(245,200,66,.22); background: transparent; box-shadow: none; }
.ns-page-hero-frame.ns-hero-frame-has-slider::after { display: none; }
.ns-hero-cards-swiper { position: relative; z-index: 2; width: min(320px,68%); height: clamp(360px,52vh,445px); overflow: visible !important; margin-inline: auto; padding:0 0 24px; }
.ns-hero-visual-slider { min-width: 0; min-height: clamp(440px,58vh,560px); overflow: hidden; isolation: isolate; }
.ns-hero-visual-slider .ns-hero-cards-swiper { position: absolute; top: 50%; left: 50%; width: min(320px,68%); height: clamp(365px,54vh,450px); margin: 0; opacity: 1 !important; visibility: visible !important; transform: translate(-50%,-50%) !important; }
.ns-hero-visual-slider .ns-hero-photo-single,
.ns-hero-visual-slider > .ns-hero-brand-mark { position: relative; inset: auto; z-index: 2; width: min(390px,78%); height: min(520px,70vh); border-radius: 30px; object-fit: cover; background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.34); }
.ns-hero-visual-slider > .ns-hero-brand-mark { padding: 34px; object-fit: contain; }
.ns-page-hero-frame .ns-hero-cards-swiper { position:absolute; top:50%; left:50%; width:min(315px,66%); height:min(430px,82%); margin:0; transform:translate(-50%,-50%)!important; }
.ns-hero-cards-swiper .swiper-wrapper { align-items: center; }
.ns-hero-cards-swiper .swiper-slide { position: relative; width:100%; overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: 28px; background: #111; box-shadow: 0 22px 55px rgba(0,0,0,.28); isolation: isolate; opacity:1; transform-origin:center; transition:border-color .45s ease,box-shadow .45s ease; }
.ns-hero-cards-swiper .swiper-slide-active { opacity:1; border-color:rgba(245,200,66,.8); box-shadow:0 30px 65px rgba(0,0,0,.38),0 0 0 1px rgba(245,200,66,.14); }
.ns-hero-cards-swiper .swiper-slide-prev,
.ns-hero-cards-swiper .swiper-slide-next { opacity:.76; }
.ns-hero-cards-swiper .swiper-slide::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg,transparent 45%,rgba(0,0,0,.76)); pointer-events: none; }
.ns-hero-cards-swiper img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.01); transition: transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease; }
.ns-hero-cards-swiper .swiper-slide-active img { transform: scale(1.04); filter: saturate(1.06) contrast(1.03); }
.ns-hero-cards-swiper span { position: absolute; z-index: 3; right: 18px; left: 18px; bottom: 17px; overflow: hidden; color: #fff; font-size: 13px; font-weight: 800; line-height: 1.45; text-align: right; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.ns-hero-cards-swiper .swiper-pagination { bottom:5px!important; }
.ns-hero-cards-swiper .swiper-pagination-bullet { width:7px; height:7px; opacity:.35; background:#fff; transition:width .25s ease,opacity .25s ease,background-color .25s ease; }
.ns-hero-cards-swiper .swiper-pagination-bullet-active { width:22px; border-radius:99px; opacity:1; background:var(--ns-gold); }
.ns-hero-cards-swiper.ns-swiper-fallback .swiper-slide:not(:first-child) { display: none; }
.ns-float-card > .ns-icon { color: #111; background: #ffe98f; }

/* Page heroes and shared media backgrounds */
.ns-page-hero, .ns-content-hero, .ns-post-hero { background: radial-gradient(circle at 12% 5%,rgba(245,200,66,.19),transparent 25%), linear-gradient(135deg,#070707,#1d1a10); }
.ns-page-hero h1, .ns-content-hero h1, .ns-post-hero h1 { color: #fff; }
.ns-page-hero p, .ns-content-hero .ns-page-hero-copy > p, .ns-post-hero .ns-page-hero-copy > p { color:rgba(255,255,255,.72); }
.ns-page-hero::before, .ns-page-hero-shape { border-color: rgba(245,200,66,.15); }
.ns-page-hero-frame { border-color:rgba(245,200,66,.34); background:radial-gradient(circle at 75% 20%,rgba(245,200,66,.18),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.11),rgba(245,200,66,.025)); }
.ns-page-hero-copy h1::after { content:""; display:block; width:90px; height:4px; margin-top:22px; border-radius:5px; background:linear-gradient(90deg,var(--ns-gold),transparent); }
.ns-page-hero-brand { box-shadow:0 26px 55px rgba(0,0,0,.28); }
.ns-section[data-ns-has-media="true"] { background-image: linear-gradient(rgba(255,252,242,.91),rgba(255,252,242,.94)),var(--ns-section-image); background-size: cover; background-position: center; }
.ns-testimonials[data-ns-has-media="true"], .ns-site-footer[data-ns-has-media="true"] { background-image: linear-gradient(rgba(5,5,5,.9),rgba(5,5,5,.95)),var(--ns-section-image); }
.ns-cta[data-ns-has-media="true"] { background-image: none; }
.ns-cta[data-ns-has-media="true"] .ns-cta-box { background-image: linear-gradient(105deg,rgba(7,7,7,.95),rgba(22,18,7,.84)),var(--ns-section-image); background-size: cover; background-position: center; }

/* Trust and cards */
.ns-trust { background: #fff; }
.ns-trust-grid { width: min(1180px,calc(100% - 40px)); margin-top: -34px; border: 1px solid #ebdfbd; border-radius: 22px; background: #fff; box-shadow: var(--ns-shadow-sm); }
.ns-trust-item { border-color: #eee3c7; }
.ns-services { background: var(--ns-ivory); }
.ns-programs, .ns-journey, .ns-about, .ns-method, .ns-blog { background: #fff; }
.ns-values, .ns-faq, .ns-contact { background: var(--ns-warm); }
.ns-service-card, .ns-program-card, .ns-values-grid article, .ns-blog-card { border: 1px solid #ece2c9; box-shadow: 0 8px 0 rgba(216,159,22,.03); }
.ns-service-card:hover, .ns-blog-card:hover { border-color: #e0bd5b; box-shadow: 0 22px 50px rgba(39,30,9,.12); }
.ns-service-card { overflow: visible; transition: transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .3s ease; }
.ns-service-card-has-media { overflow: hidden; }
.ns-service-card:hover { transform: none; }
.ns-service-card .ns-icon-box { transition: transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease; }
.ns-service-card > a .ns-icon { transition: transform .25s ease; }
.ns-service-card .ns-tag, .ns-tag { color: #765007; background: #fff2ba; }
.ns-service-card > a, .ns-read-more, .ns-text-link { color: #9b6b09 !important; }
.ns-service-card-has-media .ns-icon-box { border-color: #fff; }
@media (hover:hover) and (pointer:fine) {
	.ns-service-card:hover { transform: translate3d(0,-4px,0); }
	.ns-service-card:hover .ns-icon-box { transform: translateY(-2px) scale(1.035); box-shadow: inset 0 0 0 1px rgba(17,17,17,.06),0 10px 22px rgba(216,159,22,.18); }
	.ns-service-card:hover > a .ns-icon { transform: scaleX(-1) translateX(3px); }
}
.ns-program-number { color: #b47b08; }
.ns-program-card small { color: #8b610c; border-color: #eee3c8; }
.ns-step-icon { color: #111; border-color: #fff; background: var(--ns-gold); box-shadow: 0 0 0 1px #e3c05e; }
.ns-step-icon i { color: #111; background: #fff1af; }
.ns-timeline::before { border-color: #ddbe63; }

/* International / about */
.ns-international { background: linear-gradient(145deg,#fff9e7,#f6f1e7); }
.ns-feature > span { color: #111; background: #ffe788; }
.ns-travel-card { border: 1px solid #3d3213; background: #0b0b0a; }
.ns-travel-content h3 { color: #fff; }
.ns-travel-content p { color: rgba(255,255,255,.68); }
.ns-travel-map { background: radial-gradient(circle at 30% 30%,#4e411a,transparent 32%),linear-gradient(145deg,#1a1811,#050505); }
.ns-section-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.ns-map-dot { background: var(--ns-gold); box-shadow: 0 0 0 7px rgba(245,200,66,.15); }
.ns-map-line { border-color: rgba(245,200,66,.65); }
.ns-travel-map > .ns-icon { color: var(--ns-gold); }
.ns-about-shape { background: linear-gradient(150deg,#1a1812,#050505); }
.ns-about-shape > span { color: #111; background: var(--ns-gold); }
.ns-about-shape > span .ns-icon { color: #111; fill: transparent; }
.ns-about-photo-wrap { position: absolute; inset: 0 50px 30px 0; overflow: hidden; border-radius: 44% 44% 18% 44%; background: #111; transform: rotate(2deg); box-shadow: var(--ns-shadow); }
.ns-about-photo { width: 100%; height: 100%; object-fit: cover; }
.ns-about-watermark { position: absolute; left: 18px; bottom: 18px; width: 76px; height: 76px; padding: 8px; border-radius: 19px; background: rgba(255,255,255,.88); object-fit: contain; }
.ns-about-note > .ns-icon { color: #111; background: #ffe789; }

/* Complete center profile */
.ns-center-profile { padding:110px 0; background:linear-gradient(180deg,#fffaf0,#f6f1e6); }
.ns-center-profile > .ns-container > .ns-heading { max-width:780px; margin-inline:auto; text-align:center; }
.ns-center-profile > .ns-container > .ns-heading p { margin-inline:auto; }
.ns-center-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:26px; }
.ns-center-facts > a,.ns-center-facts > div { display:flex; min-width:0; align-items:flex-start; gap:15px; padding:22px; border:1px solid #e8dcbf; border-radius:20px; color:inherit; background:#fff; box-shadow:0 12px 34px rgba(38,29,8,.055); }
.ns-center-facts > * > span { display:grid; flex:0 0 48px; width:48px; height:48px; place-items:center; border-radius:15px; color:#111; background:var(--ns-gold); }
.ns-center-facts .ns-icon { width:23px; height:23px; }
.ns-center-facts > * > div { min-width:0; }
.ns-center-facts small { display:block; margin-bottom:5px; color:#8b7440; font-size:11px; font-weight:800; }
.ns-center-facts strong { display:block; color:#16140f; font-size:17px; line-height:1.55; overflow-wrap:anywhere; }
.ns-center-facts strong[dir="ltr"] { direction:ltr; text-align:right; unicode-bidi:isolate; }
.ns-center-facts p { margin:5px 0 0; color:#6d6656; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.ns-profile-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:58px; }
.ns-profile-pillars article { position:relative; overflow:hidden; padding:28px; border:1px solid rgba(245,200,66,.18); border-radius:22px; background:linear-gradient(145deg,#111,#201a09); box-shadow:0 17px 42px rgba(17,17,17,.12); }
.ns-profile-pillars article::after { content:""; position:absolute; width:120px; height:120px; left:-55px; bottom:-70px; border:20px solid rgba(245,200,66,.05); border-radius:50%; }
.ns-profile-pillars .ns-icon-box { color:#111; background:var(--ns-gold); }
.ns-profile-pillars h3 { margin:20px 0 9px; color:#fff; font-size:22px; }
.ns-profile-pillars p { margin:0; color:rgba(255,255,255,.68); font-size:14px; line-height:1.9; }
.ns-profile-services { padding:34px; border:1px solid #e5d8b9; border-radius:28px; background:rgba(255,255,255,.78); box-shadow:0 18px 52px rgba(42,32,10,.07); }
.ns-profile-services-head { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:28px; }
.ns-profile-services-head > div { max-width:680px; }
.ns-profile-services-head h2 { margin:10px 0 8px; font-size:clamp(28px,3vw,38px); }
.ns-profile-services-head p { margin:0; color:#6d6656; }
.ns-profile-services-head .ns-button { flex:0 0 auto; }
.ns-profile-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ns-profile-service-grid article { display:flex; min-width:0; gap:14px; padding:19px; border:1px solid #eee5d2; border-radius:17px; background:#fff; }
.ns-profile-service-grid article > span { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:13px; color:#111; background:#ffe789; }
.ns-profile-service-grid .ns-icon { width:21px; height:21px; }
.ns-profile-service-grid h3 { margin:1px 0 6px; font-size:17px; }
.ns-profile-service-grid p { margin:0; color:#716b5f; font-size:12px; line-height:1.75; }

/* Center leadership */
.ns-owners { position:relative; overflow:hidden; padding:112px 0; background:linear-gradient(180deg,#f8f5ed 0%,#fff 100%); }
.ns-owners::before { content:""; position:absolute; top:-180px; left:-140px; width:430px; height:430px; border:1px solid rgba(216,159,22,.18); border-radius:50%; box-shadow:0 0 0 48px rgba(216,159,22,.035),0 0 0 96px rgba(216,159,22,.025); pointer-events:none; }
.ns-owners-head { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:42px; }
.ns-owners-head .ns-heading { max-width:760px; margin:0; }
.ns-owners-signature { display:flex; flex:0 0 255px; align-items:center; gap:11px; margin:0 0 7px; color:#574f3c; font-size:13px; font-weight:700; line-height:1.75; }
.ns-owners-signature span { flex:0 0 34px; width:34px; height:2px; border-radius:2px; background:var(--ns-gold); }
.ns-owners-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ns-owner-card { position:relative; min-width:0; overflow:hidden; border:1px solid #e9dfc8; border-radius:26px; background:#fff; box-shadow:0 18px 48px rgba(17,17,17,.08); transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.ns-owner-photo { position:relative; overflow:hidden; aspect-ratio:4/5; background:#171717; isolation:isolate; }
.ns-owner-photo::after { content:""; position:absolute; inset:45% 0 0; z-index:1; background:linear-gradient(180deg,transparent,rgba(0,0,0,.62)); pointer-events:none; }
.ns-owner-photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.92) contrast(1.02); transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease; }
.ns-owner-role { position:absolute; z-index:2; right:18px; bottom:18px; padding:8px 13px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#111; background:var(--ns-gold); box-shadow:0 7px 22px rgba(0,0,0,.18); font-size:12px; font-weight:800; }
.ns-owner-content { padding:25px 24px 27px; }
.ns-owner-content h3 { margin:0 0 10px; color:#111; font-size:23px; line-height:1.35; }
.ns-owner-content p { min-height:96px; margin:0; color:#68604e; font-size:14px; line-height:1.9; }
.ns-owner-focus { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; padding-top:18px; border-top:1px solid #eee7d8; }
.ns-owner-focus span { display:inline-flex; align-items:center; gap:6px; color:#393429; font-size:12px; font-weight:700; }
.ns-owner-focus .ns-icon { width:17px; height:17px; padding:3px; border-radius:50%; color:#111; background:#f7d65e; stroke-width:3; }

@media (hover:hover) and (pointer:fine) {
	.ns-owner-card:hover { z-index:2; border-color:rgba(216,159,22,.65); box-shadow:0 25px 65px rgba(17,17,17,.14); transform:translateY(-8px); }
	.ns-owner-card:hover .ns-owner-photo img { filter:saturate(1.03) contrast(1.04); transform:scale(1.045); }
}
.ns-check-list .ns-icon { color: #111; background: var(--ns-gold); }
.ns-disclaimer { display:flex; align-items:flex-start; gap:13px; margin:34px 0 0!important; padding:18px 19px!important; border:1px solid #ead59a!important; border-right:1px solid #ead59a!important; border-radius:17px; color:#625633; background:linear-gradient(135deg,#fffdf6,#fff7dc); box-shadow:0 10px 28px rgba(96,70,12,.07); font-size:13px!important; font-weight:600; line-height:1.85; }
.ns-disclaimer::before { content:"i"; display:grid; flex:0 0 28px; width:28px; height:28px; place-items:center; margin-top:1px; border-radius:50%; color:#111; background:var(--ns-gold); box-shadow:0 4px 12px rgba(216,159,22,.2); font-family:Georgia,serif; font-size:15px; font-weight:800; }

/* Mobile navigation */
@media (max-width:860px) {
	body.ns-mobile-menu-open { overflow:hidden; }
	body.ns-mobile-menu-open::before { content:""; position:fixed; z-index:990; inset:0; background:rgba(11,10,7,.48); backdrop-filter:blur(3px); animation:nsMenuBackdrop .28s ease both; }
	.ns-site-header { z-index:999; }
	.ns-menu-toggle { position:relative; z-index:1002; display:grid; width:46px; height:46px; place-content:center; margin-right:auto; padding:9px; border:1px solid #edd17c; border-radius:14px; background:linear-gradient(145deg,#fff8dc,#ffe47b); box-shadow:0 8px 22px rgba(89,63,7,.12); transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease; }
	.ns-menu-toggle span { width:23px; height:2px; margin:3px auto; transform-origin:center; transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .2s ease,width .25s ease; }
	.ns-menu-toggle span:nth-child(2) { width:17px; margin-right:0; }
	.ns-menu-toggle[aria-expanded="true"] { box-shadow:0 10px 28px rgba(89,63,7,.2); transform:scale(.96); }
	.ns-menu-toggle[aria-expanded="true"] span:nth-child(1) { width:23px; transform:translateY(5px) rotate(45deg); }
	.ns-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; transform:scaleX(0); }
	.ns-menu-toggle[aria-expanded="true"] span:nth-child(3) { width:23px; transform:translateY(-5px) rotate(-45deg); }
	.ns-primary-nav { position:absolute; z-index:1001; top:calc(100% + 10px); right:14px; left:14px; display:flex; max-height:calc(100svh - var(--ns-header-height,80px) - 30px); flex-direction:column; align-items:stretch; justify-content:flex-start; gap:5px; overflow:auto; padding:14px; border:1px solid rgba(225,187,81,.55); border-radius:22px; background:rgba(255,255,255,.98); box-shadow:0 28px 70px rgba(15,13,7,.24); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-16px) scale(.965); transform-origin:top center; transition:opacity .26s ease,transform .34s cubic-bezier(.2,.8,.2,1),visibility 0s linear .34s; }
	.ns-primary-nav.ns-menu-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); transition-delay:0s; }
	.ns-primary-nav a { display:flex; align-items:center; min-height:50px; padding:12px 15px; border:1px solid transparent; border-radius:13px; color:#282318; font-size:14px; opacity:0; transform:translateY(-8px); transition:opacity .24s ease,transform .3s ease,background-color .2s ease,border-color .2s ease,color .2s ease; }
	.ns-primary-nav.ns-menu-open a { opacity:1; transform:translateY(0); }
	.ns-primary-nav.ns-menu-open a:nth-child(1) { transition-delay:.04s; }
	.ns-primary-nav.ns-menu-open a:nth-child(2) { transition-delay:.07s; }
	.ns-primary-nav.ns-menu-open a:nth-child(3) { transition-delay:.10s; }
	.ns-primary-nav.ns-menu-open a:nth-child(4) { transition-delay:.13s; }
	.ns-primary-nav.ns-menu-open a:nth-child(5) { transition-delay:.16s; }
	.ns-primary-nav.ns-menu-open a:nth-child(6) { transition-delay:.19s; }
	.ns-primary-nav.ns-menu-open a:nth-child(7) { transition-delay:.22s; }
	.ns-primary-nav a:hover,.ns-primary-nav a:focus-visible,.ns-primary-nav a[aria-current="page"] { border-color:#ead17f; color:#775107; background:#fff7d8; }
	.ns-primary-nav a[aria-current="page"]::before { content:""; width:7px; height:7px; margin-left:9px; border-radius:50%; background:var(--ns-gold-deep); }
	@keyframes nsMenuBackdrop { from { opacity:0; } to { opacity:1; } }
}

/* Method, testimonials, FAQ, contact */
.ns-method-flow i { color: #111; background: var(--ns-gold); box-shadow: 0 0 0 1px #e0bd55; }
.ns-method-flow::before { border-color: #d8b653; }
.ns-testimonials { background: radial-gradient(circle at 80% 10%,rgba(245,200,66,.12),transparent 25%),#080807; }
.ns-testimonials .ns-heading h2 { color: #fff; }
.ns-testimonial-card, .ns-quote-grid blockquote { border-color: rgba(245,200,66,.18); background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(245,200,66,.035)); }
.ns-quote-mark, .ns-avatar { color: var(--ns-gold); }
.ns-avatar { background: rgba(245,200,66,.12); }
.ns-shortcode-site .ns-accordion { display:grid; gap:12px; border:0; }
.ns-shortcode-site .ns-faq-item { overflow:hidden; border:1px solid #e5d9ba; border-radius:16px; background:rgba(255,255,255,.72); box-shadow:0 7px 22px rgba(37,29,10,.035); transition:border-color .28s ease,box-shadow .28s ease,background-color .28s ease; }
.ns-shortcode-site .ns-faq-item h3 { margin:0; }
.ns-shortcode-site .ns-faq-item button,
.ns-shortcode-site .ns-faq-item button:hover,
.ns-shortcode-site .ns-faq-item button:focus,
.ns-shortcode-site .ns-faq-item button:active { min-height:74px; padding:18px 20px; border:0 !important; border-radius:0; outline:0; color:#1d1b16 !important; background:transparent !important; box-shadow:none !important; transform:none !important; text-decoration:none !important; transition:background-color .25s ease,color .25s ease; }
.ns-shortcode-site .ns-faq-item button:hover { background:#fffaf0 !important; }
.ns-shortcode-site .ns-faq-item button:focus-visible { outline:3px solid rgba(216,159,22,.28); outline-offset:-3px; }
.ns-shortcode-site .ns-faq-item button[aria-expanded="true"] { color:#111 !important; background:#fff8dc !important; }
.ns-shortcode-site .ns-faq-item:has(button[aria-expanded="true"]) { border-color:#dcb243; background:#fffdf7; box-shadow:0 14px 34px rgba(90,65,11,.09); }
.ns-shortcode-site .ns-faq-item button i { width:32px; height:32px; border:1px solid #ead38d; background:#fff4c8; box-shadow:inset 0 0 0 1px rgba(255,255,255,.55); transition:transform .3s cubic-bezier(.2,.75,.2,1),background-color .25s ease,border-color .25s ease; }
.ns-shortcode-site .ns-faq-item button i::before,
.ns-shortcode-site .ns-faq-item button i::after { top:14px; right:9px; width:12px; background:#8d6109; transition:transform .28s cubic-bezier(.2,.75,.2,1); }
.ns-shortcode-site .ns-faq-item button:hover i { border-color:#d9ad32; background:#ffe895; transform:scale(1.06); }
.ns-shortcode-site .ns-faq-item button[aria-expanded="true"] i { border-color:#d7a927; background:var(--ns-gold); transform:rotate(180deg); }
.ns-shortcode-site .ns-faq-item button[aria-expanded="true"] i::after { transform:rotate(0deg) scaleX(0); }
.ns-shortcode-site .ns-faq-answer { transform-origin:top; background:#fffdf7; }
.ns-shortcode-site .ns-faq-answer p { margin:0; padding:0 20px 22px; color:#666156; font-size:14px; line-height:1.9; }
.ns-contact-list > a > span, .ns-contact-list > div > span { color: #111; background: var(--ns-gold); }
.ns-button-whatsapp { color: #fff !important; background: #1b9b56; box-shadow: 0 12px 25px rgba(27,155,86,.2); }
.ns-form-card { border: 1px solid #eadbad; }
.ns-contact-form input:focus, .ns-contact-form select:focus, .ns-contact-form textarea:focus { border-color: var(--ns-gold-deep); box-shadow: 0 0 0 3px rgba(216,159,22,.12); }
.ns-consent input { accent-color: var(--ns-gold-deep); }
.ns-booking { scroll-margin-top:calc(var(--ns-header-height,80px) + 18px); }
.ns-booking .ns-form-card { position:relative; overflow:hidden; }
.ns-booking .ns-form-card::before { content:""; position:absolute; top:0; right:0; left:0; height:5px; background:linear-gradient(90deg,var(--ns-gold-deep),var(--ns-gold),#ffe589); }
.ns-booking .ns-contact-form label > small { display:inline; color:#8b8069; font-size:10px; font-weight:500; }
.ns-booking .ns-contact-form textarea { min-height:145px; }
.ns-booking .ns-form-notice { border:1px solid currentColor; }
.ns-booking .ns-consent a { color:#805805; text-decoration:underline; text-underline-offset:3px; }

/* CTA and footer */
.ns-cta { background: #fff; }
.ns-cta-box { border: 1px solid rgba(245,200,66,.3); background: radial-gradient(circle at 10% 100%,rgba(245,200,66,.17),transparent 30%),linear-gradient(135deg,#080808,#211b08); }
.ns-cta-box h2 { color: #fff; }
.ns-cta-box p { color: rgba(255,255,255,.72); }
.ns-cta-box::after { border-color: rgba(245,200,66,.06); }
.ns-site-footer { border-top: 5px solid var(--ns-gold); background: radial-gradient(circle at 78% 0,rgba(245,200,66,.09),transparent 28%),#070707; }
.ns-brand-footer .ns-brand-logo { width: 230px; height: 78px; padding: 7px 10px; border-radius: 14px; background: rgba(255,255,255,.96); object-position: center; }
.ns-site-footer h3 { color: var(--ns-gold); }
.ns-socials a { color: #111 !important; background: var(--ns-gold); }
.ns-footer-contact .ns-icon, .ns-footer-bottom a { color: var(--ns-gold) !important; }

/* Single content */
.ns-single-content, .ns-post-single { background: var(--ns-warm); }
.ns-aside-card { border: 1px solid #ebddba; }
.ns-aside-note { background: #fff4c7; }
.ns-aside-note .ns-icon, .ns-prose a { color: #966607; }
.ns-prose blockquote { border-color: var(--ns-gold-deep); background: #fff8df; }
.ns-story-single { background: linear-gradient(145deg,#fff8dc,#f3eee4); }
.ns-story-media { background: #090908; }

/* Motion engine */
body.ns-motion-on { --ns-motion-duration: .75s; --ns-motion-distance: 28px; }
body.ns-motion-speed-slow { --ns-motion-duration: 1.05s; }
body.ns-motion-speed-fast { --ns-motion-duration: .5s; }
body.ns-motion-intensity-subtle { --ns-motion-distance: 14px; }
body.ns-motion-intensity-strong { --ns-motion-distance: 44px; }
body.ns-motion-scroll .ns-reveal { opacity: 0; transform: translate3d(0,var(--ns-motion-distance),0) scale(.985); transition: opacity var(--ns-motion-duration) cubic-bezier(.2,.7,.2,1),transform var(--ns-motion-duration) cubic-bezier(.2,.7,.2,1); transition-delay: var(--ns-reveal-delay,0ms); }
body.ns-motion-scroll .ns-reveal.ns-reveal-left { transform: translate3d(var(--ns-motion-distance),0,0); }
body.ns-motion-scroll .ns-reveal.ns-reveal-right { transform: translate3d(calc(var(--ns-motion-distance) * -1),0,0); }
body.ns-motion-scroll .ns-reveal.is-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
body.ns-motion-scroll .ns-service-card.ns-reveal { transform: translate3d(0,14px,0); }
body.ns-motion-scroll .ns-service-card.ns-reveal.is-visible { transform: translate3d(0,0,0); }
@media (hover:hover) and (pointer:fine) {
	body.ns-motion-scroll .ns-service-card.ns-reveal.is-visible:hover { transform: translate3d(0,-4px,0); }
}
body.ns-motion-hover .ns-tilt { transform-style: preserve-3d; will-change: transform; transition: transform .22s ease,box-shadow .28s ease; }
body.ns-motion-hover .ns-magnetic { will-change: transform; transition: transform .18s ease,box-shadow .22s ease,background-color .2s ease; }
body.ns-motion-hover .ns-interactive-card { position:relative; isolation:isolate; transition:transform .38s cubic-bezier(.2,.75,.2,1),box-shadow .38s ease,border-color .3s ease; }
body.ns-motion-hover .ns-interactive-card::before { content:""; position:absolute; z-index:0; inset:0; border-radius:inherit; opacity:0; pointer-events:none; background:radial-gradient(260px circle at var(--ns-card-x,50%) var(--ns-card-y,50%),rgba(245,200,66,.16),transparent 66%); transition:opacity .3s ease; }
body.ns-motion-hover .ns-interactive-card:hover { transform:translate3d(0,-5px,0); }
body.ns-motion-hover .ns-interactive-card:hover::before { opacity:1; }
.ns-scroll-progress { position:fixed; z-index:100000; top:0; right:0; width:100%; height:3px; pointer-events:none; transform:scaleX(0); transform-origin:right center; background:linear-gradient(90deg,var(--ns-gold-deep),#ffe98d,var(--ns-gold)); box-shadow:0 1px 9px rgba(216,159,22,.32); }
.ns-site-header { transition:min-height .28s ease,background-color .28s ease,box-shadow .28s ease,border-color .28s ease; }
.ns-site-header.ns-has-scrolled { background:rgba(255,255,255,.975); border-bottom-color:rgba(216,159,22,.2); }
.ns-heading h2 { text-wrap:balance; }
.ns-heading > p,.ns-hero-lead,.ns-page-hero-copy > p { text-wrap:pretty; }
.ns-service-card,.ns-program-card,.ns-values-grid article,.ns-blog-card,.ns-testimonial-card,.ns-form-card { backdrop-filter:blur(8px); }
.ns-section:not(.ns-hero):not(.ns-page-hero):not(.ns-site-footer) { position:relative; }
body.ns-motion-cursor::before { content: ""; position: fixed; z-index: 9999; top: 0; left: 0; width: 260px; height: 260px; border-radius: 50%; pointer-events: none; opacity: .13; background: radial-gradient(circle,rgba(245,200,66,.75),rgba(245,200,66,0) 67%); transform: translate3d(calc(var(--ns-mouse-x, -500px) - 50%),calc(var(--ns-mouse-y, -500px) - 50%),0); mix-blend-mode: multiply; }
[data-ns-parallax] { will-change: transform; }
body.ns-motion-on .ns-hero-brand-mark { animation: nsBrandFloat 5s ease-in-out infinite; }
body.ns-motion-on .ns-hero-motion { animation: nsMotionPulse 3.6s ease-in-out infinite; }
@keyframes nsBrandFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-9px) rotate(1deg); } }
@keyframes nsMotionPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }

@media (max-width: 1040px) {
	.ns-owners-grid { gap:17px; }
	.ns-owner-content { padding:22px 20px 24px; }
	.ns-owner-content p { min-height:118px; }
	.ns-brand-logo { max-width: 205px; }
	.ns-primary-nav { gap: 14px; }
	.ns-primary-nav a { font-size: 12px; }
}

@media (max-width: 860px) {
	.ns-owners { padding:88px 0; }
	.ns-owners-head { align-items:start; flex-direction:column; gap:18px; }
	.ns-owners-signature { flex-basis:auto; max-width:330px; }
	.ns-owners-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ns-owner-card:last-child { grid-column:1 / -1; width:calc(50% - 9px); margin-inline:auto; }
	.ns-owner-content p { min-height:100px; }
	.ns-header-inner { min-height: 76px; }
	.ns-brand-logo { max-width: 195px; height: 60px; }
	.ns-primary-nav { top:calc(100% + 10px); gap:5px; justify-content:flex-start; }
	.ns-primary-nav a { font-size:14px; }
	.ns-hero { min-height:calc(100vh - var(--ns-header-height,80px)); min-height:calc(100svh - var(--ns-header-height,80px)); }
	.ns-hero-grid,
	.ns-page-hero-grid { grid-template-columns:1fr; }
	.ns-hero-visual-slider,
	.ns-page-hero-media { grid-row:1; }
	.ns-hero-copy,
	.ns-page-hero-copy { grid-row:2; }
	.ns-hero-cards-swiper { width: min(300px,66%); height: 370px; }
	.ns-hero-visual-slider { min-height: 390px; }
	.ns-hero-visual-slider .ns-hero-cards-swiper,
	.ns-hero-visual-slider .ns-hero-photo-single,
	.ns-hero-visual-slider > .ns-hero-brand-mark { width: min(500px,96%); height: 370px; }
	.ns-hero-visual-slider .ns-hero-cards-swiper { width:min(300px,66%); height:370px; }
	.ns-page-hero-frame .ns-hero-cards-swiper { width:min(295px,65%); height:370px; }
	.ns-page-hero-media { min-height:390px; }
	.ns-page-hero-copy,.ns-hero-copy { text-align:center; }
	.ns-page-hero-copy .ns-actions,.ns-hero-copy .ns-actions,.ns-hero-points { justify-content:center; }
	.ns-center-profile { padding:86px 0; }
	.ns-center-facts,.ns-profile-pillars { grid-template-columns:1fr; }
	.ns-center-facts { gap:12px; }
	.ns-profile-pillars { gap:14px; margin-bottom:40px; }
	.ns-profile-services-head { align-items:flex-start; flex-direction:column; gap:20px; }
	.ns-trust-grid { margin-top: -20px; }
}

@media (max-width: 600px) {
	.ns-owners { padding:72px 0; }
	.ns-owners::before { width:290px; height:290px; }
	.ns-owners-head { margin-bottom:30px; }
	.ns-owners-grid { grid-template-columns:1fr; gap:18px; }
	.ns-owner-card:last-child { grid-column:auto; width:100%; }
	.ns-owner-photo { aspect-ratio:4/4.65; }
	.ns-owner-content { padding:22px 20px 24px; }
	.ns-owner-content h3 { font-size:21px; }
	.ns-owner-content p { min-height:0; font-size:13.5px; }
	.ns-brand-logo { max-width: 165px; height: 53px; }
	.ns-hero-copy h1::after { margin-inline: auto; }
	.ns-page-hero-copy h1::after { margin-inline:auto; }
	.ns-progress-figure.ns-hero-frame-has-slider { height: 270px; margin: 16px 0 18px; }
	.ns-hero { padding-top:34px; }
	.ns-page-hero { min-height:auto; padding:28px 0 52px; }
	.ns-hero-grid,.ns-page-hero-grid { gap:28px; }
	.ns-hero-cards-swiper { width:min(245px,68%); height:300px; }
	.ns-hero-visual-slider { min-height: 305px; }
	.ns-hero-visual-slider .ns-hero-cards-swiper,
	.ns-hero-visual-slider .ns-hero-photo-single,
	.ns-hero-visual-slider > .ns-hero-brand-mark { width: min(420px,100%); height: 300px; }
	.ns-hero-visual-slider .ns-hero-cards-swiper { width:min(245px,68%); height:300px; }
	.ns-page-hero-frame .ns-hero-cards-swiper { width:min(235px,72%); height:278px; }
	.ns-page-hero-media { min-height:286px; }
	.ns-page-hero-copy h1 { margin-top:13px; font-size:clamp(32px,10vw,38px); line-height:1.25; }
	.ns-page-hero-copy > p { line-height:1.85; }
	.ns-page-hero-copy .ns-actions { margin-top:23px; }
	.ns-page-hero-copy .ns-actions .ns-button { width:100%; justify-content:center; }
	.ns-hero-cards-swiper .swiper-slide { width:100%; }
	.ns-hero-cards-swiper .swiper-slide { border-radius: 24px; }
	.ns-hero-cards-swiper span { right: 14px; left: 14px; bottom: 14px; font-size: 12px; }
	.ns-hero-motion { width: 72px; height: 72px; }
	.ns-about-grid { gap:32px; }
	.ns-about-art { min-height:340px; }
	.ns-about-photo-wrap,.ns-about-shape { inset:0 8px 48px; border-radius:30px; transform:none; }
	.ns-about-note { right:12px; left:12px; bottom:0; justify-content:center; }
	.ns-center-profile { padding:72px 0; }
	.ns-center-profile > .ns-container > .ns-heading { text-align:right; }
	.ns-center-facts > a,.ns-center-facts > div { padding:18px 16px; }
	.ns-center-facts > * > span { flex-basis:43px; width:43px; height:43px; }
	.ns-profile-pillars article { padding:23px 20px; }
	.ns-profile-pillars h3 { font-size:20px; }
	.ns-profile-services { padding:22px 16px; border-radius:22px; }
	.ns-profile-services-head .ns-button { width:100%; justify-content:center; }
	.ns-profile-service-grid { grid-template-columns:1fr; }
	.ns-profile-service-grid article { padding:16px; }
	.ns-brand-footer .ns-brand-logo { width: 205px; height: 70px; }
	.ns-shortcode-site .ns-accordion { gap:10px; }
	.ns-shortcode-site .ns-faq-item { border-radius:14px; }
	.ns-shortcode-site .ns-faq-item button,
	.ns-shortcode-site .ns-faq-item button:hover,
	.ns-shortcode-site .ns-faq-item button:focus,
	.ns-shortcode-site .ns-faq-item button:active { min-height:66px; gap:14px; padding:15px 16px; font-size:15px; line-height:1.65; }
	.ns-shortcode-site .ns-faq-item button i { width:30px; height:30px; }
	.ns-shortcode-site .ns-faq-item button i::before,
	.ns-shortcode-site .ns-faq-item button i::after { top:13px; right:8px; }
	.ns-shortcode-site .ns-faq-answer p { padding:0 16px 18px; font-size:13.5px; }
}

@media (pointer: coarse) {
	body.ns-motion-cursor::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	body.ns-respect-reduced-motion .ns-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	body.ns-respect-reduced-motion [data-ns-parallax], body.ns-respect-reduced-motion .ns-hero-brand-mark, body.ns-respect-reduced-motion .ns-hero-motion { transform: none !important; animation: none !important; }
	body.ns-respect-reduced-motion::before { display: none !important; }
}

/* Center gallery */
.ns-gallery { background:linear-gradient(180deg,#fff 0%,#f8f7f2 100%); overflow:clip; }
.ns-gallery-grid { display:block; columns:3 285px; column-gap:18px; margin-top:38px; }
.ns-gallery-item { position:relative; display:block; width:100%; min-width:0; margin:0 0 18px; padding:0!important; overflow:hidden; break-inside:avoid; aspect-ratio:var(--ns-gallery-ratio,4 / 3); border:1px solid rgba(17,17,17,.08); border-radius:22px; color:#fff; background:#f3f1eb; box-shadow:0 16px 40px rgba(17,17,17,.12); cursor:zoom-in; isolation:isolate; appearance:none; }
.ns-gallery-item img { width:100%; height:100%; object-fit:contain; display:block; background:#f3f1eb; transition:filter .35s ease; }
.ns-gallery-overlay { position:absolute; inset:auto 0 0; z-index:2; display:flex; flex-direction:column; align-items:stretch; gap:5px; width:100%; padding:64px 22px 20px; text-align:right; background:linear-gradient(180deg,transparent,rgba(0,0,0,.9)); }
.ns-gallery-overlay strong { display:block; width:100%; overflow:visible; color:#fff; font-size:18px; line-height:1.5; white-space:normal; text-overflow:clip; }
.ns-gallery-overlay small { display:-webkit-box; max-width:46ch; overflow:hidden; color:rgba(255,255,255,.82); font-size:13px; line-height:1.55; opacity:1; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ns-gallery-overlay small:empty { display:none; }
.ns-gallery-item:hover img { filter:saturate(1.06) contrast(1.02); }
.ns-gallery-item:focus-visible { outline:3px solid var(--ns-gold,#f5c842); outline-offset:4px; }
.ns-gallery-empty { display:grid; place-items:center; min-height:260px; margin-top:32px; padding:30px; border:1px dashed rgba(216,159,22,.5); border-radius:22px; text-align:center; background:#fff; }
.ns-gallery-empty span { display:grid; width:70px; height:70px; place-items:center; border-radius:50%; color:#111; background:var(--ns-gold,#f5c842); font-size:35px; }
.ns-gallery-empty p { margin:14px 0 0; color:#555; font-weight:700; }
body.ns-lightbox-open { overflow:hidden!important; }
.ns-gallery-lightbox[hidden] { display:none!important; }
.ns-gallery-lightbox { position:fixed; z-index:999999; inset:0; display:grid; grid-template-columns:74px minmax(0,1fr) 74px; align-items:center; gap:14px; padding:68px 28px 28px; background:rgba(4,4,4,.94); backdrop-filter:blur(12px); animation:nsLightboxIn .22s ease both; }
.ns-gallery-lightbox figure { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; max-width:1180px; max-height:calc(100vh - 96px); margin:auto; }
.ns-gallery-lightbox figure img { display:block; max-width:100%; max-height:calc(100vh - 175px); border-radius:14px; object-fit:contain; box-shadow:0 26px 75px rgba(0,0,0,.55); }
.ns-gallery-lightbox figcaption { display:flex; flex-direction:column; gap:4px; width:100%; max-width:800px; padding:16px 10px 0; text-align:center; }
.ns-gallery-lightbox figcaption strong { color:#fff; font-size:18px; }
.ns-gallery-lightbox figcaption span { color:rgba(255,255,255,.7); line-height:1.7; }
.ns-gallery-lightbox figcaption span:empty { display:none; }
.ns-gallery-lightbox .ns-lightbox-close,
.ns-gallery-lightbox .ns-lightbox-arrow { display:grid; flex:0 0 auto; place-items:center; margin:0; padding:0!important; border:1px solid rgba(255,255,255,.22); border-radius:999px!important; color:#fff; background:rgba(255,255,255,.08); box-sizing:border-box; cursor:pointer; font-family:Arial,sans-serif; line-height:1; appearance:none; transition:.2s ease; }
.ns-lightbox-close:hover,
.ns-lightbox-arrow:hover { border-color:var(--ns-gold,#f5c842); color:#111; background:var(--ns-gold,#f5c842); }
.ns-lightbox-close:focus-visible,
.ns-lightbox-arrow:focus-visible { outline:3px solid var(--ns-gold,#f5c842); outline-offset:3px; }
.ns-gallery-lightbox .ns-lightbox-close { position:absolute; top:20px; left:24px; width:46px!important; min-width:46px!important; max-width:46px!important; height:46px!important; min-height:46px!important; max-height:46px!important; aspect-ratio:1; font-size:31px; }
.ns-gallery-lightbox .ns-lightbox-arrow { width:58px!important; min-width:58px!important; max-width:58px!important; height:58px!important; min-height:58px!important; max-height:58px!important; aspect-ratio:1; font-size:40px; }
.ns-lightbox-prev { grid-column:1; }
.ns-gallery-lightbox figure { grid-column:2; grid-row:1; }
.ns-lightbox-next { grid-column:3; }
@keyframes nsLightboxIn { from { opacity:0; } to { opacity:1; } }

@media (max-width: 900px) {
	.ns-gallery-grid { columns:2 230px; column-gap:14px; }
	.ns-gallery-item { margin-bottom:14px; }
}

@media (max-width: 600px) {
	.ns-gallery-grid { columns:1; margin-top:26px; }
	.ns-gallery-item { margin-bottom:13px; border-radius:18px; }
	.ns-gallery-overlay { padding:50px 17px 16px; }
	.ns-gallery-lightbox { grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,1fr) 54px; gap:12px; padding:70px 16px 18px; }
	.ns-gallery-lightbox figure { grid-column:1 / -1; grid-row:1; max-height:calc(100vh - 145px); }
	.ns-gallery-lightbox figure img { max-height:calc(100vh - 220px); }
	.ns-gallery-lightbox .ns-lightbox-arrow { width:48px!important; min-width:48px!important; max-width:48px!important; height:48px!important; min-height:48px!important; max-height:48px!important; justify-self:center; }
	.ns-lightbox-prev { grid-column:1; grid-row:2; }
	.ns-lightbox-next { grid-column:2; grid-row:2; }
	.ns-lightbox-close { top:14px; left:16px; }
}
