/* Natrecia Studio Builder — front-end rendering */
.nsb-document,
.nsb-theme-location { --nsb-row-gap: var(--nsb-gap, 32px); color: var(--nsb-text, #202020); font-family: var(--nsb-body, Inter, Arial, sans-serif); }
.nsb-document-layout-theme { width: min(100%, var(--nsb-width, 1240px)); margin-inline: auto; }
.nsb-document *, .nsb-theme-location * { box-sizing: border-box; }
.nsb-section { position: relative; margin-top: var(--nsb-mt, 0); margin-bottom: var(--nsb-mb, 0); padding: var(--nsb-pt, 90px) var(--nsb-pr, 32px) var(--nsb-pb, 90px) var(--nsb-pl, 32px); background-repeat: no-repeat; overflow: hidden; }
.nsb-section-inner { position: relative; z-index: 1; margin-inline: auto; }
.nsb-section-bg-video { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nsb-section-boxed > .nsb-section-inner { width: min(100%, var(--nsb-width, 1240px)); }
.nsb-section-full > .nsb-section-inner { width: min(100%, var(--nsb-width, 1240px)); }
.nsb-row { display: flex; flex-wrap: nowrap; gap: var(--nsb-gap, 32px); width: 100%; margin-top: var(--nsb-mt, 0); margin-bottom: var(--nsb-mb, 0); }
.nsb-column { flex: 0 1 calc(var(--nsb-column, 100%) - var(--nsb-gap, 0px)); min-width: 0; padding: var(--nsb-pt, 0) var(--nsb-pr, 0) var(--nsb-pb, 0) var(--nsb-pl, 0); margin-top: var(--nsb-mt, 0); margin-bottom: var(--nsb-mb, 0); }
.nsb-column > .nsb-node + .nsb-node { margin-top: 20px; }
.nsb-heading { margin: 0; color: inherit; font-family: var(--nsb-heading, Georgia, serif); font-size: var(--nsb-heading-size, clamp(2rem, 4vw, 4rem)); font-weight: 400; letter-spacing: -.025em; line-height: 1.06; }
h1.nsb-heading { font-size: clamp(3rem, 7vw, 7rem); }
h3.nsb-heading { font-size: clamp(1.35rem, 2vw, 2rem); }
.nsb-text { max-width: 100%; font-size: 1rem; line-height: 1.75; }
.nsb-text p { margin: 0 0 1em; }
.nsb-text p:last-child { margin-bottom: 0; }
.nsb-eyebrow { font-size: .72rem; font-weight: 800; letter-spacing: .2em; line-height: 1.35; text-transform: uppercase; }
.nsb-button-wrap { display: block; }
a.nsb-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 24px; border: 1px solid var(--nsb-primary, #d8b36b); background: var(--nsb-primary, #d8b36b); color: var(--nsb-dark, #0a0a0a); font-size: .74rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-decoration: none !important; text-transform: uppercase; transition: .25s ease; }
a.nsb-button:hover { transform: translateY(-2px); background: #fff; border-color: #fff; color: #090909; }
a.nsb-button-outline { background: transparent; color: inherit; }
.nsb-image { display: block; margin: 0; }
.nsb-image img { display: block; width: 100%; height: auto; border-radius: inherit; }
.nsb-image figcaption { padding-top: 9px; color: inherit; font-size: .8rem; opacity: .7; }
.nsb-video { position: relative; overflow: hidden; }
.nsb-video iframe, .nsb-video video, .nsb-video .wp-video { width: 100% !important; max-width: 100%; }
.nsb-divider { padding: 16px 0; }
.nsb-divider span { display: block; width: 100%; border-top: 1px solid currentColor; opacity: .22; }
.nsb-quote { margin: 0; padding: 30px 0 30px 28px; border-left: 3px solid var(--nsb-primary, #d8b36b); }
.nsb-quote p { margin: 0; font-family: var(--nsb-heading, Georgia, serif); font-size: clamp(1.6rem, 3vw, 2.8rem); line-height: 1.2; }
.nsb-quote cite { display: block; margin-top: 18px; font-size: .78rem; font-style: normal; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nsb-icon { display: inline-block; color: var(--nsb-primary, #d8b36b); font-size: 2rem; }
.nsb-gallery .gallery { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.nsb-gallery .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; }
.nsb-logo img { display: block; width: auto; max-width: 170px; max-height: 72px; }
.nsb-menu ul { display: flex; align-items: center; justify-content: inherit; gap: 24px; margin: 0; padding: 0; list-style: none; }
.nsb-menu li { position: relative; margin: 0; }
.nsb-menu a { color: inherit; font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.nsb-menu .sub-menu { position: absolute; z-index: 30; top: calc(100% + 16px); left: 0; display: none; min-width: 230px; padding: 15px; background: #111; box-shadow: 0 15px 35px rgba(0,0,0,.25); }
.nsb-menu li:hover > .sub-menu, .nsb-menu li:focus-within > .sub-menu { display: grid; }
.nsb-site-info p { margin: 0 0 8px; }
.nsb-site-info a { color: inherit; text-decoration-color: var(--nsb-primary, #d8b36b); }
.nsb-socials { display: flex; flex-wrap: wrap; gap: 12px; }
.nsb-socials a { color: inherit; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.nsb-feature-card { border: 1px solid rgba(128,128,128,.2); }
.nsb-feature-number { margin-bottom: 34px; }
.nsb-hero-overlay::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.84), rgba(0,0,0,.38) 64%, rgba(0,0,0,.3)); }
.nsb-hero-overlay > .nsb-section-inner { z-index: 2; }
.nsb-inline-actions { width: min(100%, 520px); }
.nsb-builder-header { overflow: visible; }
.nsb-builder-header > .nsb-section-inner { width: min(100%, 1500px); }
.nsb-theme-header { position: relative; z-index: 1000; }
.nsb-theme-footer .nsb-menu ul { display: grid; gap: 10px; }
.nsb-theme-footer .nsb-menu a { color: #c8c2b8; font-weight: 500; letter-spacing: .02em; text-transform: none; }
.nsb-theme-footer .nsb-logo { margin-bottom: 22px; }
.nsb-copyright { padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.nsb-layout-canvas > .site-header, .nsb-layout-canvas > .site-footer, .nsb-layout-canvas .site-header, .nsb-layout-canvas .site-footer { display: none !important; }
.nsb-animate { opacity: 0; transition: opacity .75s ease, transform .75s ease; }
.nsb-animate-fade-up { transform: translateY(28px); }
.nsb-animate-slide-left { transform: translateX(34px); }
.nsb-animate-slide-right { transform: translateX(-34px); }
.nsb-animate-zoom-in { transform: scale(.96); }
.nsb-animate.is-visible { opacity: 1; transform: none; }

@media (min-width: 1025px) { .nsb-hide-desktop { display: none !important; } }
@media (max-width: 1024px) {
  .nsb-hide-tablet { display: none !important; }
  .nsb-section { padding-top: var(--nsb-pt-tablet, var(--nsb-pt, 75px)); padding-bottom: var(--nsb-pb-tablet, var(--nsb-pb, 75px)); }
  .nsb-row { flex-wrap: wrap; }
  .nsb-column { flex-basis: calc(var(--nsb-column, 100%) - var(--nsb-gap, 0px)); }
  .nsb-builder-header .nsb-row { flex-wrap: nowrap; }
  .nsb-builder-header .nsb-menu ul { gap: 13px; }
}
@media (max-width: 767px) {
  .nsb-hide-mobile { display: none !important; }
  .nsb-section { padding: var(--nsb-pt-mobile, var(--nsb-pt, 64px)) 20px var(--nsb-pb-mobile, var(--nsb-pb, 64px)); }
  .nsb-row { display: grid; grid-template-columns: 1fr; gap: min(var(--nsb-gap, 28px), 40px); }
  .nsb-column { width: 100%; max-width: 100%; }
  .nsb-inline-actions { display: flex; flex-wrap: wrap; }
  .nsb-inline-actions .nsb-column { width: auto; }
  .nsb-hero { min-height: 650px !important; }
  .nsb-menu ul { align-items: flex-start; display: grid; gap: 10px; }
  .nsb-menu .sub-menu { position: static; display: grid; padding: 10px 0 0 14px; background: transparent; box-shadow: none; }
  .nsb-builder-header .nsb-row { display: grid; grid-template-columns: 1fr auto; }
  .nsb-builder-header .nsb-column:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .nsb-builder-header .nsb-column:nth-child(3) { grid-column: 2; grid-row: 1; }
  .nsb-builder-header .nsb-button { min-height: 42px; padding: 10px 13px; font-size: .62rem; }
  .nsb-gallery .gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nsb-theme-footer .nsb-row { gap: 38px; }
}
