/* ==========================================================================
   Nexvia Advisory — Corporate redesign
   ========================================================================== */

:root{
  --nx-navy:#101E30;
  --nx-charcoal:#2A2A28;
  --nx-offwhite:#F5F4F0;
  --nx-white:#FFFFFF;
  --nx-gold:#9C7A3C;
  --nx-heading:#15161A;
  --nx-body:#4B4D52;
  --nx-border:#E1DFD9;
}

html{ scroll-behavior:smooth; }
body{ background:var(--nx-white); }

/* ---- Header ---------------------------------------------------------- */
header.wp-block-template-part:has(.nx-header){
  position:sticky; top:0; z-index:1000;
}
.nx-header{
  position:relative; z-index:1000;
  background:var(--nx-white);
  border-bottom:1px solid var(--nx-border);
  transition:box-shadow .25s ease, padding .25s ease;
}
.nx-header.is-stuck{ box-shadow:0 2px 18px rgba(16,30,48,.08); }
.nx-header-inner{
  max-width:1320px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px;
}
.nx-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.nx-logo img{ height:32px; width:auto; display:block; }
.nx-logo-text{
  font-family:'Inter',sans-serif; font-weight:700; font-size:17px;
  color:var(--nx-heading); letter-spacing:.01em; line-height:1.2;
}
.nx-logo-text span{ display:block; font-size:10px; font-weight:500; letter-spacing:.16em; color:var(--nx-gold); text-transform:uppercase; }

.nx-nav{ display:flex; align-items:center; gap:40px; }
.nx-nav ul{ display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.nx-nav a{
  font-family:'Inter',sans-serif; font-size:14px; font-weight:500;
  color:var(--nx-charcoal); text-decoration:none; letter-spacing:.01em;
  position:relative; padding:4px 0;
}
.nx-nav a:hover{ color:var(--nx-navy); }
.nx-nav-cta{
  font-family:'Inter',sans-serif; font-size:14px; font-weight:600;
  color:var(--nx-white) !important; background:var(--nx-navy);
  padding:11px 26px !important; border-radius:2px; letter-spacing:.02em;
  transition:background .2s ease;
}
.nx-nav-cta:hover{ background:var(--nx-gold); }

.nx-menu-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nx-menu-toggle span{ display:block; width:24px; height:2px; background:var(--nx-heading); margin:5px 0; transition:transform .2s ease, opacity .2s ease; }
.nx-menu-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nx-menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nx-menu-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:900px){
  .nx-nav{ position:fixed; inset:64px 0 0 0; background:var(--nx-white); flex-direction:column; align-items:flex-start; padding:24px 32px; transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease; overflow-y:auto; }
  .nx-nav.is-open{ opacity:1; transform:translateY(0); pointer-events:auto; }
  .nx-nav ul{ flex-direction:column; gap:20px; width:100%; }
  .nx-nav-cta{ display:inline-block; margin-top:8px; }
  .nx-menu-toggle{ display:block; }
  .nx-header-inner{ padding:14px 20px; }
}

/* ---- Section shell ----------------------------------------------------- */
.nx-section{ padding:96px 32px; }
.nx-section-narrow{ padding:80px 32px; }
.nx-inner{ max-width:1120px; margin:0 auto; }
.nx-inner-wide{ max-width:1320px; margin:0 auto; }
.nx-eyebrow{
  font-family:'Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--nx-gold); margin:0 0 16px;
}
.nx-h2{
  font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(24px,3vw,34px);
  color:var(--nx-heading); margin:0 0 20px; line-height:1.45;
}
.nx-lead{ font-size:16px; color:var(--nx-body); max-width:720px; line-height:1.95; }
@media (max-width:768px){
  .nx-section{ padding:64px 20px; }
  .nx-section-narrow{ padding:56px 20px; }
}

/* ---- Hero ---------------------------------------------------------- */
.nx-hero{
  position:relative; min-height:640px; display:flex; align-items:flex-end;
  background:
    radial-gradient(circle at 82% 18%, rgba(156,122,60,.22), transparent 42%),
    linear-gradient(180deg, rgba(16,30,48,.55) 0%, rgba(16,30,48,.92) 100%),
    linear-gradient(135deg, #0b1524 0%, #16273d 55%, #101e30 100%);
  color:var(--nx-white);
  overflow:hidden;
}
.nx-hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 85%);
  pointer-events:none;
}
.nx-hero::after{
  content:"";
  position:absolute; right:-10%; top:-20%; width:60%; height:140%;
  background:linear-gradient(115deg, transparent 46%, rgba(156,122,60,.14) 47%, transparent 49%),
              linear-gradient(115deg, transparent 58%, rgba(255,255,255,.06) 59%, transparent 61%);
  pointer-events:none;
}
.nx-hero-inner{ max-width:1320px; margin:0 auto; width:100%; padding:0 32px 72px; position:relative; z-index:1; }
.nx-hero-tags{ font-family:'Inter',sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:24px; }
.nx-hero h1{
  font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(32px,5vw,56px);
  line-height:1.3; margin:0 0 24px; max-width:820px; color:var(--nx-white) !important;
}
.nx-hero p{ font-size:17px; line-height:1.9; max-width:620px; color:rgba(255,255,255,.88); margin:0 0 36px; }
.nx-hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; }
.nx-btn{
  display:inline-block; font-family:'Inter',sans-serif; font-size:14px; font-weight:600;
  padding:15px 32px; border-radius:2px; letter-spacing:.02em; text-decoration:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.nx-btn-primary{ background:var(--nx-gold); color:var(--nx-navy); }
.nx-btn-primary:hover{ background:var(--nx-white); color:var(--nx-navy); }
.nx-btn-outline{ background:transparent; color:var(--nx-white); border:1px solid rgba(255,255,255,.55); }
.nx-btn-outline:hover{ border-color:var(--nx-white); }
@media (max-width:768px){
  .nx-hero{ min-height:520px; }
  .nx-hero-inner{ padding:0 20px 48px; }
}

/* ---- Trust strip ---------------------------------------------------- */
.nx-trust{ background:var(--nx-navy); color:var(--nx-white); padding:56px 32px; }
.nx-trust-grid{ max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.14); }
.nx-trust-item{ background:var(--nx-navy); padding:28px 20px; text-align:center; }
.nx-trust-item .kw{ font-family:'Inter',sans-serif; font-weight:700; font-size:20px; color:var(--nx-gold) !important; margin-bottom:8px; }
.nx-trust-item .desc{ font-size:13px; color:rgba(255,255,255,.78); line-height:1.7; }
@media (max-width:900px){ .nx-trust-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nx-trust-grid{ grid-template-columns:1fr; } }

/* ---- Services --------------------------------------------------------- */
.nx-services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--nx-border); margin-top:48px; border:1px solid var(--nx-border); }
.nx-service-card{ background:var(--nx-white); padding:40px 32px; }
.nx-service-num{ font-family:'Inter',sans-serif; font-weight:700; font-size:13px; color:var(--nx-gold); letter-spacing:.08em; margin-bottom:16px; }
.nx-service-card h3{ font-family:'Inter',sans-serif; font-weight:700; font-size:18px; color:var(--nx-heading); margin:0 0 12px; }
.nx-service-card p{ font-size:14px; color:var(--nx-body); line-height:1.85; margin:0 0 16px; }
.nx-service-card a{ font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--nx-navy); text-decoration:none; border-bottom:1px solid var(--nx-navy); padding-bottom:2px; }
@media (max-width:900px){ .nx-services-grid{ grid-template-columns:1fr; } }

/* ---- Why Nexvia -------------------------------------------------------- */
.nx-why{ background:var(--nx-offwhite); }
.nx-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:48px; }
.nx-why-card{ background:var(--nx-white); border:1px solid var(--nx-border); padding:36px 32px; }
.nx-why-card .num{ font-family:'Inter',sans-serif; font-weight:700; font-size:13px; color:var(--nx-gold); letter-spacing:.08em; margin-bottom:14px; }
.nx-why-card h3{ font-family:'Inter',sans-serif; font-weight:700; font-size:19px; color:var(--nx-heading); margin:0 0 14px; line-height:1.4; }
.nx-why-card p{ font-size:14px; color:var(--nx-body); line-height:1.85; margin:0; }
@media (max-width:900px){ .nx-why-grid{ grid-template-columns:1fr; } }

/* ---- Professional experience ------------------------------------------- */
.nx-pro{ display:grid; grid-template-columns:1fr 1.4fr; gap:64px; align-items:start; margin-top:48px; }
.nx-pro-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.nx-pro-tags span{ font-family:'Inter',sans-serif; font-size:12px; font-weight:600; color:var(--nx-navy); background:var(--nx-offwhite); border:1px solid var(--nx-border); padding:8px 14px; border-radius:2px; }
.nx-pro p{ font-size:15px; color:var(--nx-body); line-height:1.95; margin:0 0 16px; }
.nx-pro .more{ font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--nx-navy); text-decoration:none; border-bottom:1px solid var(--nx-navy); }
@media (max-width:900px){ .nx-pro{ grid-template-columns:1fr; gap:32px; } }

/* ---- Support process ---------------------------------------------------- */
.nx-process{ display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin-top:56px; counter-reset:step; }
.nx-step{ text-align:left; padding-top:24px; border-top:2px solid var(--nx-border); position:relative; }
.nx-step .step-no{ font-family:'Inter',sans-serif; font-weight:700; font-size:12px; color:var(--nx-gold); letter-spacing:.14em; margin-bottom:10px; }
.nx-step h3{ font-family:'Inter',sans-serif; font-weight:700; font-size:16px; color:var(--nx-heading); margin:0 0 8px; }
.nx-step p{ font-size:13px; color:var(--nx-body); line-height:1.7; margin:0; }
@media (max-width:900px){ .nx-process{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nx-process{ grid-template-columns:1fr; } }

/* ---- Support examples ---------------------------------------------------- */
.nx-examples{ background:var(--nx-navy); color:var(--nx-white); }
.nx-examples .nx-h2, .nx-examples .nx-lead{ color:var(--nx-white) !important; }
.nx-examples .nx-eyebrow{ color:var(--nx-gold); }
.nx-examples-note{ font-size:13px; color:rgba(255,255,255,.6); margin:8px 0 0; }
.nx-examples-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.14); margin-top:40px; }
.nx-example-card{ background:var(--nx-navy); padding:32px 24px; }
.nx-example-card .tag{ font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--nx-gold); text-transform:uppercase; margin-bottom:10px; }
.nx-example-card p{ font-size:14px; color:rgba(255,255,255,.88); line-height:1.7; margin:0; }
@media (max-width:900px){ .nx-examples-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---- About Nexvia -------------------------------------------------------- */
.nx-about{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.nx-about h2{ font-family:'Inter',sans-serif; font-weight:700; font-size:28px; color:var(--nx-heading); margin:0 0 20px; }
.nx-about p{ font-size:15px; color:var(--nx-body); line-height:1.95; margin:0 0 16px; }
.nx-about-mark{ font-family:'Inter',sans-serif; font-weight:700; font-size:15px; color:var(--nx-gold); letter-spacing:.04em; }
@media (max-width:900px){ .nx-about{ grid-template-columns:1fr; gap:28px; } }

/* ---- Contact CTA ---------------------------------------------------------- */
.nx-cta{ background:var(--nx-heading); color:var(--nx-white); text-align:center; padding:96px 32px; }
.nx-cta h2{ font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(26px,4vw,40px); margin:0 0 18px; color:var(--nx-white) !important; }
.nx-cta p{ font-size:16px; color:rgba(255,255,255,.82); max-width:600px; margin:0 auto 36px; line-height:1.9; }

/* ---- Footer --------------------------------------------------------------- */
.nx-footer{ background:var(--nx-navy) !important; color:rgba(255,255,255,.75); padding:72px 32px 32px; }
.nx-footer-grid{ max-width:1320px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.14); }
.nx-footer h4{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--nx-white) !important; letter-spacing:.08em; text-transform:uppercase; margin:0 0 18px; }
.nx-footer ul{ list-style:none; margin:0; padding:0; }
.nx-footer li{ margin-bottom:10px; }
.nx-footer a{
  color:rgba(255,255,255,.86); text-decoration:none; font-size:13px;
  border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:2px;
  transition:color .2s ease, border-color .2s ease;
}
.nx-footer a:hover{ color:var(--nx-gold); border-color:var(--nx-gold); }
.nx-footer p{ font-size:13px; line-height:1.9; color:rgba(255,255,255,.7); margin:0 0 8px; }
.nx-footer-bottom{ max-width:1320px; margin:24px auto 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px; color:rgba(255,255,255,.55); }
@media (max-width:900px){ .nx-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .nx-footer-grid{ grid-template-columns:1fr; } }

/* ---- Reveal-on-scroll ------------------------------------------------------ */
.nx-reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.nx-reveal.is-visible{ opacity:1; transform:translateY(0); }

/* Generic page-hero band (used by templates that build their own hero,
   e.g. category-column.html, single.html) -- distinct from the
   wp-block-cover restyle above, which only targets legacy imported pages.
   Reuses the same textured-navy language as the front-page .nx-hero
   (grid lines + gold glow) instead of a flat centered navy block, and is
   left-aligned + shorter so it reads as a compact banner, not empty space. */
.nx-page-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 88% 15%, rgba(156,122,60,.20), transparent 45%),
    linear-gradient(180deg, rgba(16,30,48,.55) 0%, rgba(16,30,48,.92) 100%),
    linear-gradient(135deg, #0b1524 0%, #16273d 55%, #101e30 100%);
  padding:56px 32px 40px;
  text-align:left;
}
.nx-page-hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 92%);
  pointer-events:none;
}
.nx-page-hero > *{ max-width:1120px; margin-left:auto; margin-right:auto; position:relative; z-index:1; }
.nx-page-hero .nx-page-hero-title,
.nx-page-hero h1.nx-page-hero-title{
  font-family:'Inter','Noto Sans JP',sans-serif;
  font-weight:700;
  font-size:clamp(28px,4vw,42px);
  color:var(--nx-white) !important;
  letter-spacing:.01em;
  margin:8px 0 0 !important;
}
.nx-page-hero .nx-eyebrow{
  color:var(--nx-gold) !important;
  display:inline-flex; align-items:center; gap:10px;
}
.nx-page-hero .nx-eyebrow::before{ content:""; display:inline-block; width:22px; height:1px; background:var(--nx-gold); }

/* Column / News hero extras */
.nx-page-hero-lead{
  max-width:640px; margin:14px 0 0 !important;
  font-size:15px; line-height:1.9; color:rgba(255,255,255,.78) !important;
}
.nx-page-hero-date,
.nx-page-hero-date time{
  display:block; font-family:'Inter',sans-serif; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--nx-gold) !important; margin:0 0 12px;
  max-width:1120px;
}

/* Column archive grid */
.nx-column-archive{ padding:64px 32px 48px; max-width:1320px; margin:0 auto; box-sizing:border-box; }
.nx-column-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  align-items:stretch;
}
.nx-column-grid > li{ margin:0 !important; list-style:none; box-sizing:border-box; }
.nx-column-card{
  background:var(--nx-white); padding:30px 26px 26px; display:flex; flex-direction:column; gap:10px;
  height:100%; box-sizing:border-box;
  border:1px solid var(--nx-border); border-top:3px solid var(--nx-gold); border-radius:4px;
  box-shadow:0 1px 3px rgba(16,30,48,.05);
  transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.nx-column-card:hover{
  box-shadow:0 16px 32px rgba(16,30,48,.12);
  transform:translateY(-4px);
  border-color:var(--nx-border);
}
.nx-column-date,
.nx-column-date time{
  font-family:'Inter',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.1em;
  color:var(--nx-gold) !important; text-transform:uppercase;
}
.nx-column-title{
  margin:2px 0 0 !important; font-family:'Inter','Noto Sans JP',sans-serif; font-weight:700;
  font-size:17.5px; line-height:1.55;
}
.nx-column-title a{ color:var(--nx-heading) !important; text-decoration:none !important; }
.nx-column-title a:hover{ color:var(--nx-gold) !important; }
.nx-column-excerpt{
  margin:2px 0 0 !important; font-size:13.5px; line-height:1.85; color:var(--nx-body);
  padding-top:10px; border-top:1px solid var(--nx-border);
}
.nx-column-excerpt a{
  display:inline-block; margin-top:10px; font-size:12.5px; font-weight:600;
  color:var(--nx-navy) !important; text-decoration:none !important;
  border-bottom:1px solid var(--nx-navy); padding-bottom:1px;
  transition:color .2s ease, border-color .2s ease;
}
.nx-column-excerpt a:hover{ color:var(--nx-gold) !important; border-color:var(--nx-gold); }
@media (max-width:900px){ .nx-column-grid{ grid-template-columns:1fr; } }
@media (max-width:560px){ .nx-column-archive{ padding:48px 20px 36px; } }

/* Article body (single post) */
.nx-article-content h2{ margin-top:2.6em; padding-top:1.6em; border-top:1px solid var(--nx-border); }
.nx-article-content > h2:first-of-type{ border-top:none; margin-top:0; padding-top:0; }

/* Diagrams embedded in column articles (flow / comparison SVGs) */
.nx-article-diagram{
  margin:1.8em 0 2em; padding:0; border:1px solid var(--nx-border); border-radius:4px;
  overflow:hidden; background:var(--nx-offwhite);
}
.nx-article-diagram img{ display:block; width:100%; height:auto; }
.nx-article-diagram figcaption{
  font-size:12.5px; color:var(--nx-body); text-align:center;
  padding:10px 16px; border-top:1px solid var(--nx-border); background:var(--nx-white);
}

/* ---- Interior pages (Services / About / Contact / etc.) -------------- */
/* A stray divider some legacy pages place right above the banner */
.nx-page-content > hr.wp-block-separator:first-child{ display:none !important; }
/* Legacy page-banner (wp-block-cover) carried over from the old theme's
   page content is restyled in place as the new navy page-hero band,
   instead of being replaced, so existing page content stays untouched. */
.nx-page-content .wp-block-cover{
  max-width:none !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  min-height:220px !important;
}
.nx-page-content .wp-block-cover .wp-block-cover__background{
  background-color:var(--nx-navy) !important;
  opacity:1 !important;
}
.nx-page-content .wp-block-cover .wp-block-cover__image-background{
  opacity:0 !important;
}
.nx-page-content .wp-block-cover .wp-block-cover__inner-container{
  max-width:1120px; margin:0 auto; padding:0 32px;
}
.nx-page-content .wp-block-cover p{
  font-family:'Inter','Noto Sans JP',sans-serif !important;
  font-weight:700 !important;
  color:var(--nx-white) !important;
  letter-spacing:.01em;
}

.nx-page-content-wrap{ padding:0 32px; }
.nx-page-content{
  max-width:1120px !important; margin:0 auto !important;
  padding:72px 0 96px;
  color:var(--nx-body);
  font-size:15.5px; line-height:1.95;
}
.nx-page-content h1,
.nx-page-content h2,
.nx-page-content h3,
.nx-page-content h4{
  font-family:'Inter','Noto Sans JP',sans-serif;
  color:var(--nx-heading) !important;
  font-weight:700;
  line-height:1.5;
  margin-top:2.2em;
  margin-bottom:.7em;
}
.nx-page-content > *:first-child{ margin-top:0; }
.nx-page-content h2{ font-size:24px; }
.nx-page-content h3{ font-size:19px; }
.nx-page-content p{ margin-bottom:1.4em; }
.nx-page-content ul,
.nx-page-content ol{ margin:0 0 1.4em; padding-left:1.4em; }
.nx-page-content li{ margin-bottom:.5em; }
.nx-page-content a{ color:var(--nx-navy); text-decoration:underline; text-underline-offset:2px; }
.nx-page-content a:hover{ color:var(--nx-gold); }

/* Company-info / fact tables */
.nx-page-content table{
  width:100%; border-collapse:collapse; margin:0 0 1.6em;
  font-size:14.5px;
}
.nx-page-content table td,
.nx-page-content table th{
  padding:14px 18px; border-bottom:1px solid var(--nx-border); text-align:left; vertical-align:top;
}
.nx-page-content table th{ width:180px; color:var(--nx-heading); font-weight:600; background:var(--nx-offwhite); }

/* Ultimate Addons for Gutenberg (Spectra) Tabs — Services page */
.nx-page-content .uagb-tabs-list{
  border-right:1px solid var(--nx-border) !important;
  padding-right:0 !important;
}
.nx-page-content .uagb-tab{
  background:var(--nx-white) !important;
  font-family:'Inter','Noto Sans JP',sans-serif !important;
  font-weight:600 !important;
  font-size:14.5px !important;
  color:var(--nx-body) !important;
  border-left:2px solid transparent !important;
  padding:14px 20px !important;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.nx-page-content .uagb-tab a{
  color:inherit !important;
}
.nx-page-content .uagb-tab.uagb-tabs__active a,
.nx-page-content .uagb-tab[aria-selected="true"] a{
  color:var(--nx-navy) !important;
}
.nx-page-content .uagb-tab:hover{
  color:var(--nx-navy) !important;
  background:var(--nx-offwhite) !important;
}
.nx-page-content .uagb-tab.uagb-tabs__active,
.nx-page-content .uagb-tab[aria-selected="true"]{
  color:var(--nx-navy) !important;
  border-left-color:var(--nx-gold) !important;
  background:var(--nx-offwhite) !important;
}
.nx-page-content .uagb-tabs__panel{
  color:var(--nx-body) !important;
  font-size:15px !important;
  line-height:1.95 !important;
}
.nx-page-content .uagb-tabs__panel h2,
.nx-page-content .uagb-tabs__panel h3{ color:var(--nx-heading) !important; }
.nx-page-content .uagb-tabs__body-wrap{
  border:1px solid var(--nx-border) !important;
  border-radius:2px !important;
}

/* WPForms contact form */
.nx-page-content .wpforms-container{ margin:1.5em 0; }
.nx-page-content .wpforms-field-label{
  font-family:'Inter','Noto Sans JP',sans-serif !important;
  font-weight:600 !important;
  color:var(--nx-heading) !important;
}
.nx-page-content .wpforms-field input[type=text],
.nx-page-content .wpforms-field input[type=email],
.nx-page-content .wpforms-field input[type=tel],
.nx-page-content .wpforms-field input[type=number],
.nx-page-content .wpforms-field textarea,
.nx-page-content .wpforms-field select{
  border:1px solid var(--nx-border) !important;
  border-radius:2px !important;
  font-family:'Noto Sans JP',sans-serif !important;
}
.nx-page-content .wpforms-field input:focus,
.nx-page-content .wpforms-field textarea:focus{
  border-color:var(--nx-navy) !important;
  box-shadow:none !important;
  outline:none !important;
}
.nx-page-content .wpforms-submit-container button,
.nx-page-content button.wpforms-submit{
  background:var(--nx-navy) !important;
  border:none !important;
  border-radius:2px !important;
  font-family:'Inter','Noto Sans JP',sans-serif !important;
  font-weight:600 !important;
  padding:14px 32px !important;
  transition:background .2s ease;
}
.nx-page-content .wpforms-submit-container button:hover,
.nx-page-content button.wpforms-submit:hover{ background:var(--nx-gold) !important; }

/* Legacy "back to home" / misc buttons left in old page content */
.nx-page-content .wp-block-button__link{
  background:var(--nx-navy) !important;
  color:var(--nx-white) !important;
  border-radius:2px !important;
  font-family:'Inter','Noto Sans JP',sans-serif !important;
  font-weight:600 !important;
  padding:12px 28px !important;
  transition:background .2s ease;
}
.nx-page-content .wp-block-button__link:hover{ background:var(--nx-gold) !important; }

@media (max-width:600px){
  .nx-page-content table,
  .nx-page-content table tbody,
  .nx-page-content table tr,
  .nx-page-content table td,
  .nx-page-content table th{ display:block; width:100% !important; }
  .nx-page-content table th{ padding-bottom:4px; border-bottom:none; }
  .nx-page-content table td{ padding-top:4px; }
  .nx-page-content table tr{ margin-bottom:4px; }
}
@media (max-width:782px){
  .nx-page-hero{ padding:56px 20px 40px; }
  .nx-page-content-wrap{ padding:0 20px; }
  .nx-page-content{ padding:48px 0 64px; }
}
