/*
Theme Name: Numbers Compass Child
Theme URI: https://numberscompass.com/
Description: Custom GeneratePress child theme for NumbersCompass.com — numerology, Vastu, auspicious timing and practical spiritual living.
Author: Numbers Compass
Author URI: https://numberscompass.com/
Template: generatepress
Version: 1.1.0
Text Domain: numberscompass
Requires at least: 6.6
Requires PHP: 8.0
*/

:root{
  --nc-bg:#FBF6EA;
  --nc-paper:#FFFDF8;
  --nc-paper-2:#F1E6CF;
  --nc-ink:#1F2A27;
  --nc-muted:#68736D;
  --nc-forest:#163D34;
  --nc-jade:#245B4A;
  --nc-sage:#99AE91;
  --nc-gold:#C79A43;
  --nc-gold-light:#DFC788;
  --nc-line:#DED2BC;
  --nc-vermilion:#A9553C;
  --nc-shadow:0 20px 60px rgba(22,61,52,.14);
  --nc-radius:26px;
  --nc-max:1180px;
}

html[data-theme="dark"]{
  --nc-bg:#0E1815;
  --nc-paper:#15241F;
  --nc-paper-2:#1D302A;
  --nc-ink:#F6F1E8;
  --nc-muted:#B1BDB7;
  --nc-forest:#D4AD61;
  --nc-jade:#79A899;
  --nc-sage:#7A998E;
  --nc-gold:#D4AD61;
  --nc-gold-light:#E4CB91;
  --nc-line:#2B403A;
  --nc-vermilion:#D78870;
  --nc-shadow:0 20px 60px rgba(0,0,0,.34);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--nc-ink);
  background:
    radial-gradient(circle at 10% 0%,rgba(199,154,67,.10),transparent 28rem),
    radial-gradient(circle at 100% 10%,rgba(36,91,74,.10),transparent 28rem),
    var(--nc-bg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
}
body,button,input,select,textarea{font-size:17px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--nc-jade)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

.nc-container{width:min(var(--nc-max),calc(100% - 32px));margin-inline:auto}
.nc-site-main{min-height:60vh}
.nc-section{padding:76px 0}
.nc-section-sm{padding:48px 0}
.nc-section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}
.nc-section-head p{max-width:650px;color:var(--nc-muted);margin:0}
.nc-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nc-jade);margin-bottom:10px}
.nc-eyebrow:before{content:"";width:28px;height:1px;background:var(--nc-gold)}
.nc-title,.nc-h1,.nc-h2,.nc-h3,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;letter-spacing:-.025em;color:var(--nc-ink)}
.nc-h1{font-size:clamp(2.8rem,6vw,5.7rem);margin:0}
.nc-h2{font-size:clamp(2rem,4vw,3.6rem);margin:0}
.nc-h3{font-size:1.35rem;margin:0}
.nc-muted{color:var(--nc-muted)}
.nc-gold{color:var(--nc-gold)}
.nc-card{background:var(--nc-paper);border:1px solid var(--nc-line);border-radius:var(--nc-radius);box-shadow:0 8px 24px rgba(30,49,45,.05)}
.nc-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.nc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nc-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}

.nc-btn{border:0;border-radius:999px;padding:13px 19px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s transform,.2s opacity,.2s background}
.nc-btn:hover{transform:translateY(-2px);color:inherit}
.nc-btn-primary{background:linear-gradient(135deg,var(--nc-forest),var(--nc-jade));color:var(--nc-paper);box-shadow:0 10px 26px rgba(36,91,74,.22)}
html[data-theme="dark"] .nc-btn-primary{background:linear-gradient(135deg,var(--nc-gold),var(--nc-gold-light));color:#16120b}
.nc-btn-secondary{background:transparent;color:var(--nc-ink);border:1px solid var(--nc-line)}
.nc-btn-gold{background:linear-gradient(135deg,var(--nc-gold),var(--nc-gold-light));color:#17120b;box-shadow:0 10px 25px rgba(199,154,67,.20)}
.nc-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}
.nc-pill{padding:8px 11px;border:1px solid var(--nc-line);border-radius:999px;font-size:.82rem;background:var(--nc-paper)}

/* Header */
.nc-site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(251,246,234,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(199,154,67,.20);
  box-shadow:0 5px 22px rgba(22,61,52,.045);
}

.admin-bar .nc-site-header{top:32px}

/* Use a wider container only for the header so the menu has enough room. */
.nc-site-header .nc-container{
  width:min(1600px,calc(100% - 48px));
  max-width:1600px;
  margin-inline:auto;
}

.nc-header-row{
  min-height:96px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:26px;
  padding-block:8px;
}

/* Brand */
.nc-brand-wrap{
  flex:0 0 auto;
  width:auto;
  min-width:0;
}

.nc-brand{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:13px;
  width:auto;
  max-width:435px;
  color:var(--nc-ink);
  text-decoration:none;
}

.nc-brand:hover{color:var(--nc-ink)}

.nc-brandmark{
  width:76px;
  height:76px;
  min-width:76px;
  flex:0 0 76px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.nc-brandmark:after{display:none}

.nc-brandmark img{
  display:block;
  width:76px;
  height:76px;
  max-width:76px;
  max-height:76px;
  object-fit:contain;
  border-radius:50%;
  margin:0;
  padding:0;
}

.nc-brand-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  width:auto;
  max-width:330px;
  min-width:0;
  line-height:1.15;
}

.nc-brand-name{
  display:block;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--nc-ink);
  white-space:nowrap;
}

.nc-brand-tagline{
  display:block;
  margin-top:6px;
  max-width:325px;
  color:var(--nc-muted);
  font-size:.68rem;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.045em;
  white-space:normal;
}

/* Primary desktop navigation */
.nc-primary-nav{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  width:auto;
  min-width:0;
  margin-left:auto;
}

.nc-primary-nav ul,
.nc-primary-nav .menu,
.nc-primary-nav .nc-primary-menu{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  width:auto;
  margin:0;
  padding:0;
  list-style:none;
}

.nc-primary-nav > ul > li,
.nc-primary-nav .nc-primary-menu > li{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:auto;
  margin:0;
  padding:0;
  white-space:nowrap;
}

.nc-primary-nav > ul > li > a,
.nc-primary-nav .nc-primary-menu > li > a{
  display:flex;
  align-items:center;
  width:auto;
  padding:11px 10px;
  color:var(--nc-ink);
  font-size:.91rem;
  font-weight:700;
  line-height:1;
  letter-spacing:-.01em;
  text-decoration:none;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  border-radius:9px;
  transition:color .2s ease,background-color .2s ease;
}

.nc-primary-nav a{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}

.nc-primary-nav > ul > li > a:hover,
.nc-primary-nav .current-menu-item > a,
.nc-primary-nav .current-menu-ancestor > a{
  color:var(--nc-jade);
  background:rgba(36,91,74,.07);
}

/* Dropdown submenu */
.nc-primary-nav .sub-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:9999;
  display:block;
  min-width:230px;
  margin:0;
  padding:8px;
  list-style:none;
  background:var(--nc-paper);
  border:1px solid rgba(199,154,67,.25);
  border-radius:14px;
  box-shadow:0 18px 46px rgba(22,61,52,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.nc-primary-nav .menu-item-has-children:hover > .sub-menu,
.nc-primary-nav .menu-item-has-children:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.nc-primary-nav .sub-menu li{
  width:100%;
  white-space:nowrap;
}

.nc-primary-nav .sub-menu a{
  display:block;
  width:100%;
  padding:10px 12px;
  border-radius:9px;
  font-size:.86rem;
  line-height:1.25;
  white-space:nowrap;
}

/* Header actions */
.nc-header-actions{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  flex:0 0 auto;
  gap:9px;
  width:auto;
  margin-left:4px;
  white-space:nowrap;
}

.nc-icon-btn{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--nc-line);
  border-radius:50%;
  background:var(--nc-paper);
  color:var(--nc-ink);
  cursor:pointer;
}

.nc-header-cta,
.nc-header-actions .nc-btn-gold{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:auto;
  padding:12px 18px;
  font-size:.88rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  word-break:normal;
  border-radius:999px;
}

.nc-menu-btn{display:none}

/* Mobile navigation */
.nc-mobile-nav{
  display:none;
  border-top:1px solid rgba(199,154,67,.18);
  padding-top:5px;
  padding-bottom:18px;
}

.nc-mobile-nav.open,
.nc-mobile-nav.is-open{display:block}

.nc-mobile-nav ul,
.nc-mobile-menu{
  list-style:none;
  margin:0;
  padding:8px 0;
}

.nc-mobile-nav li{margin:0}

.nc-mobile-nav a{
  display:block;
  padding:11px 4px;
  color:var(--nc-ink);
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(199,154,67,.12);
}

.nc-mobile-nav .sub-menu{
  margin:0;
  padding:0 0 0 16px;
  list-style:none;
}

.nc-mobile-nav .sub-menu a{
  font-size:.85rem;
  font-weight:600;
}

.nc-mobile-tools-btn{
  display:flex;
  width:100%;
  margin-top:10px;
  justify-content:center;
}

/* Medium desktop: tighten spacing while preserving one-line menu labels. */
@media(max-width:1400px){
  .nc-site-header .nc-container{
    width:min(1320px,calc(100% - 32px));
  }

  .nc-header-row{
    gap:17px;
  }

  .nc-brand{
    max-width:365px;
  }

  .nc-brandmark{
    width:68px;
    height:68px;
    min-width:68px;
    flex-basis:68px;
  }

  .nc-brandmark img{
    width:68px;
    height:68px;
    max-width:68px;
    max-height:68px;
  }

  .nc-brand-copy{
    max-width:275px;
  }

  .nc-brand-name{
    font-size:1.08rem;
  }

  .nc-brand-tagline{
    max-width:270px;
    font-size:.61rem;
    letter-spacing:.035em;
  }

  .nc-primary-nav > ul > li > a,
  .nc-primary-nav .nc-primary-menu > li > a{
    padding-inline:7px;
    font-size:.83rem;
  }

  .nc-header-cta,
  .nc-header-actions .nc-btn-gold{
    padding-inline:14px;
    font-size:.81rem;
  }
}

/* Switch to mobile navigation before the desktop menu becomes cramped. */
@media(max-width:1120px){
  .nc-primary-nav{display:none}

  .nc-header-row{
    justify-content:space-between;
  }

  .nc-brand-wrap{
    flex:1 1 auto;
  }

  .nc-header-actions{
    margin-left:auto;
  }

  .nc-menu-btn{
    display:inline-flex;
  }

  .nc-header-cta,
  .nc-header-actions .nc-btn-gold{
    display:none;
  }
}

@media(max-width:600px){
  .nc-site-header .nc-container{
    width:calc(100% - 24px);
  }

  .nc-header-row{
    min-height:74px;
    gap:8px;
    padding-block:6px;
  }

  .nc-brand{
    gap:8px;
  }

  .nc-brandmark{
    width:54px;
    height:54px;
    min-width:54px;
    flex-basis:54px;
  }

  .nc-brandmark img{
    width:54px;
    height:54px;
    max-width:54px;
    max-height:54px;
  }

  .nc-brand-copy{
    max-width:210px;
  }

  .nc-brand-name{
    font-size:.98rem;
  }

  .nc-brand-tagline{
    margin-top:3px;
    max-width:205px;
    font-size:.54rem;
    line-height:1.25;
    letter-spacing:.025em;
  }

  .nc-header-actions{
    gap:5px;
  }

  .nc-icon-btn{
    width:37px;
    height:37px;
    min-width:37px;
    flex-basis:37px;
  }
}

@media(max-width:410px){
  .nc-brand-copy{
    max-width:165px;
  }

  .nc-brand-name{
    font-size:.94rem;
  }

  .nc-brand-tagline{
    max-width:160px;
    font-size:.51rem;
  }

  .nc-brandmark{
    width:48px;
    height:48px;
    min-width:48px;
    flex-basis:48px;
  }

  .nc-brandmark img{
    width:48px;
    height:48px;
    max-width:48px;
    max-height:48px;
  }
}

/* Header dark mode */
html[data-theme="dark"] .nc-site-header{
  background:rgba(14,24,21,.94);
  border-bottom-color:rgba(223,199,136,.18);
}

html[data-theme="dark"] .nc-brand-name,
html[data-theme="dark"] .nc-primary-nav > ul > li > a,
html[data-theme="dark"] .nc-primary-nav .nc-primary-menu > li > a,
html[data-theme="dark"] .nc-mobile-nav a{
  color:#F6F1E8;
}

html[data-theme="dark"] .nc-brand-tagline{
  color:#B1BDB7;
}

html[data-theme="dark"] .nc-primary-nav .sub-menu{
  background:#15241F;
}

html[data-theme="dark"] .nc-icon-btn{
  background:#15241F;
  color:#F6F1E8;
}


/* Hero */
.nc-hero{padding:86px 0 62px;position:relative}
.nc-hero:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--nc-gold),var(--nc-vermilion),var(--nc-gold),transparent);opacity:.65}
.nc-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.nc-hero .nc-h1 span{background:linear-gradient(105deg,var(--nc-jade),color-mix(in srgb,var(--nc-jade) 72%,var(--nc-gold)));-webkit-background-clip:text;background-clip:text;color:transparent}
.nc-hero-copy{font-size:1.12rem;max-width:720px;color:var(--nc-muted);margin-top:18px}
.nc-trustrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.nc-cosmic-card{min-height:510px;border-radius:34px;padding:30px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(223,199,136,.20),transparent 34%),linear-gradient(150deg,#163D34,#245B4A);color:#f7f1e7;box-shadow:0 30px 80px rgba(22,61,52,.24);border:1px solid rgba(223,199,136,.26)}
.nc-cosmic-card:before,.nc-cosmic-card:after{content:"";position:absolute;border:1px solid rgba(233,202,141,.32);border-radius:50%}
.nc-cosmic-card:before{width:360px;height:360px;right:-80px;top:-75px}
.nc-cosmic-card:after{width:260px;height:260px;left:-80px;bottom:-90px}
.nc-orbit{position:absolute;inset:76px 62px;border:1px solid rgba(255,255,255,.23);border-radius:50%;display:grid;place-items:center}
.nc-orbit:before{content:"";position:absolute;width:66%;height:66%;border:1px dashed rgba(223,199,136,.48);border-radius:50%}
.nc-number-core{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);box-shadow:inset 0 0 44px rgba(223,199,136,.11),0 0 0 8px rgba(255,255,255,.025)}
.nc-number-core strong{font-family:Georgia,serif;font-size:4.5rem;color:#DFC788;line-height:1}
.nc-orbit-label{position:absolute;padding:8px 10px;border-radius:999px;background:rgba(9,28,24,.72);border:1px solid rgba(255,255,255,.16);font-size:.75rem}
.nc-ol1{top:48px;left:24px}.nc-ol2{top:94px;right:18px}.nc-ol3{bottom:110px;left:12px}.nc-ol4{bottom:36px;right:38px}
.nc-cosmic-footer{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#c8d7d1}

/* Content cards */
.nc-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.nc-stat{background:var(--nc-paper);border:1px solid var(--nc-line);border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(30,49,45,.05)}
.nc-stat strong{display:block;font-size:1.35rem;color:var(--nc-jade)}
.nc-stat:nth-child(1){border-top:3px solid var(--nc-gold)}.nc-stat:nth-child(2){border-top:3px solid var(--nc-jade)}.nc-stat:nth-child(3){border-top:3px solid var(--nc-sage)}.nc-stat:nth-child(4){border-top:3px solid var(--nc-vermilion)}
.nc-hub-card{background:var(--nc-paper);border:1px solid var(--nc-line);border-radius:var(--nc-radius);padding:23px;transition:.2s transform,.2s box-shadow,.2s border-color;min-height:250px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.nc-hub-card:hover{transform:translateY(-4px);box-shadow:var(--nc-shadow);border-color:var(--nc-gold-light)}
.nc-hub-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--nc-jade)}
.nc-hub-card:nth-child(1):before{background:var(--nc-gold)}.nc-hub-card:nth-child(2):before{background:var(--nc-jade)}.nc-hub-card:nth-child(3):before{background:var(--nc-vermilion)}.nc-hub-card:nth-child(4):before{background:var(--nc-sage)}
.nc-icon{width:52px;height:52px;border-radius:16px;background:var(--nc-paper-2);display:grid;place-items:center;font-size:1.45rem;margin-bottom:20px;color:var(--nc-jade)}
.nc-hub-card p{color:var(--nc-muted);font-size:.93rem}
.nc-card-link{margin-top:auto;padding-top:20px;font-weight:850;color:var(--nc-jade)}

.nc-tools-band{background:radial-gradient(circle at 92% 8%,rgba(223,199,136,.11),transparent 18rem),linear-gradient(135deg,#163D34,#245B4A);color:#f5efe4;border-radius:34px;padding:34px;box-shadow:var(--nc-shadow);border:1px solid rgba(223,199,136,.26)}
.nc-tools-band .nc-h2{color:#fff}.nc-tools-band p{color:#c7d7d1}
.nc-tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}
.nc-tool-card{display:flex;flex-direction:column;padding:18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;min-height:170px}
.nc-tool-card:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateY(-2px)}
.nc-tool-card b{font-family:Georgia,serif;font-size:1.12rem}.nc-tool-card small{color:#c7d7d1;margin-top:8px}.nc-tool-card span{margin-top:auto;color:#e7c878;font-weight:800}

.nc-feature-band{background:radial-gradient(circle at 8% 10%,rgba(199,154,67,.09),transparent 22rem),linear-gradient(115deg,var(--nc-paper-2),var(--nc-paper));border-block:1px solid var(--nc-line)}
.nc-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.nc-feature-list{display:grid;gap:13px;margin-top:24px}
.nc-feature-item{display:flex;gap:12px}.nc-tick{width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--nc-jade);color:#fff;display:grid;place-items:center;font-size:.8rem}
.nc-dashboard{background:var(--nc-paper);border:1px solid var(--nc-line);border-radius:28px;padding:20px;box-shadow:var(--nc-shadow);border-top:3px solid var(--nc-gold)}
.nc-metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.nc-metric{background:var(--nc-bg);border:1px solid var(--nc-line);border-radius:16px;padding:14px}.nc-metric b{font-size:1.3rem;color:var(--nc-jade)}
.nc-progress{height:7px;background:var(--nc-paper-2);border-radius:999px;margin-top:8px;overflow:hidden}.nc-progress span{display:block;height:100%;background:var(--nc-gold);border-radius:999px}

.nc-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.nc-article-card{background:var(--nc-paper);border:1px solid var(--nc-line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.nc-article-visual{height:172px;background:linear-gradient(135deg,#163D34,#C79A43);position:relative;overflow:hidden}.nc-article-visual img{width:100%;height:100%;object-fit:cover}.nc-article-visual.nc-placeholder:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;font-size:4.2rem;color:rgba(255,255,255,.72)}.nc-article-body{padding:19px;display:flex;flex-direction:column;flex:1}.nc-article-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--nc-gold);font-weight:850}.nc-article-card p{font-size:.9rem;color:var(--nc-muted)}
.nc-funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}.nc-step{border:1px solid var(--nc-line);background:var(--nc-paper);border-radius:18px;padding:17px;position:relative}.nc-step:not(:last-child):after{content:"→";position:absolute;right:-11px;top:44%;color:var(--nc-gold);font-weight:900;z-index:2}.nc-step small{display:block;color:var(--nc-muted);margin-top:5px}
.nc-newsletter{background:radial-gradient(circle at 93% 15%,rgba(223,199,136,.14),transparent 16rem),linear-gradient(140deg,#163D34,#245B4A);border-radius:34px;color:#fff;padding:42px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;border:1px solid rgba(223,199,136,.26)}.nc-newsletter .nc-h2{color:#fff}.nc-newsletter p{color:#c7d8d1}.nc-newsletter-box{background:rgba(255,255,255,.08);padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.18)}

/* Inner pages */
.nc-page-hero{padding:70px 0 44px;border-bottom:1px solid var(--nc-line);background:linear-gradient(180deg,color-mix(in srgb,var(--nc-paper-2) 55%,transparent),transparent)}
.nc-page-hero .nc-h1{font-size:clamp(2.5rem,5vw,4.7rem)}
.nc-page-hero p{font-size:1.1rem;color:var(--nc-muted);max-width:780px}
.nc-content-wrap{padding:54px 0 78px}.nc-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px}.nc-content{min-width:0}.nc-content>*:first-child{margin-top:0}.nc-content h2{margin-top:1.8em}.nc-content h3{margin-top:1.5em}.nc-content p,.nc-content li{color:var(--nc-ink)}.nc-content a{text-decoration:underline;text-decoration-color:var(--nc-gold);text-underline-offset:3px}.nc-content blockquote{margin:28px 0;padding:18px 22px;border-left:3px solid var(--nc-gold);background:var(--nc-paper);border-radius:0 16px 16px 0}.nc-sidebar{position:sticky;top:105px;align-self:start}.nc-sidebar-card{padding:20px;margin-bottom:16px}.nc-sidebar-card h3{font-size:1.1rem}.nc-sidebar-card ul{margin:12px 0 0;padding-left:18px}.nc-sidebar-card li{margin:6px 0}
.nc-breadcrumbs{font-size:.8rem;color:var(--nc-muted);margin-bottom:12px}.nc-breadcrumbs a{color:var(--nc-muted)}
.nc-disclaimer{border-left:3px solid var(--nc-vermilion);padding:16px 18px;background:var(--nc-paper);border-radius:0 16px 16px 0;color:var(--nc-muted)}
.nc-cta-box{padding:26px;background:linear-gradient(145deg,var(--nc-paper-2),var(--nc-paper));border:1px solid var(--nc-line);border-radius:22px;margin:30px 0}
.nc-post-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--nc-muted);font-size:.86rem;margin-top:16px}.nc-featured-image{margin:30px 0;border-radius:24px;overflow:hidden;box-shadow:var(--nc-shadow)}
.nc-pagination{margin-top:32px}.nc-pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--nc-line);border-radius:10px;margin-right:6px;background:var(--nc-paper)}.nc-pagination .current{background:var(--nc-jade);color:#fff;border-color:var(--nc-jade)}

/* Footer */
.nc-site-footer{padding:50px 0 26px;border-top:1px solid var(--nc-line);margin-top:56px;background:color-mix(in srgb,var(--nc-paper) 50%,transparent)}
.nc-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:24px}.nc-footer-col h3{font:800 1rem Inter,system-ui,sans-serif;margin:0 0 10px}.nc-footer-col a{display:block;color:var(--nc-muted);padding:4px 0;font-size:.91rem}.nc-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--nc-line);padding-top:19px;margin-top:30px;color:var(--nc-muted);font-size:.82rem}

.screen-reader-text,.nc-skip-link{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nc-skip-link:focus{clip:auto!important;width:auto;height:auto;margin:10px;padding:10px 14px;background:#fff;color:#000;z-index:9999}

@media(max-width:1040px){.nc-primary-nav{display:none}.nc-menu-btn{display:grid}.nc-header-row .nc-btn-gold{display:none}.nc-hero-grid,.nc-feature-grid,.nc-newsletter{grid-template-columns:1fr}.nc-grid-4{grid-template-columns:repeat(2,1fr)}.nc-tool-grid{grid-template-columns:repeat(2,1fr)}.nc-article-grid{grid-template-columns:repeat(2,1fr)}.nc-funnel{grid-template-columns:repeat(2,1fr)}.nc-step:after{display:none}.nc-content-grid{grid-template-columns:1fr}.nc-sidebar{position:static}.nc-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){body,button,input,select,textarea{font-size:16px}.nc-hero{padding-top:58px}.nc-hero-grid{gap:30px}.nc-cosmic-card{min-height:430px}.nc-orbit{inset:70px 35px}.nc-stat-grid,.nc-grid-4,.nc-grid-3,.nc-grid-2,.nc-article-grid,.nc-tool-grid,.nc-funnel,.nc-metric-grid{grid-template-columns:1fr}.nc-tools-band{padding:20px;border-radius:26px}.nc-section{padding:58px 0}.nc-section-head{align-items:flex-start;flex-direction:column}.nc-newsletter{padding:28px}.nc-footer-grid{grid-template-columns:1fr}.nc-footer-bottom{flex-direction:column}.nc-brand-tagline{display:block}.nc-header-row{gap:10px}.nc-header-actions{margin-left:auto}}


/* =========================================================
   NUMBERS COMPASS — PREMIUM FOOTER
   Append to the END of the child-theme style.css.
   ========================================================= */

.nc-site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:72px;
  padding:0 0 28px;
  color:#F8F2E8;
  background:
    radial-gradient(circle at 8% 8%,rgba(223,199,136,.13),transparent 26rem),
    radial-gradient(circle at 92% 18%,rgba(153,174,145,.12),transparent 28rem),
    linear-gradient(145deg,#102D27 0%,#163D34 48%,#1E5143 100%);
  border-top:1px solid rgba(223,199,136,.42);
  box-shadow:0 -18px 55px rgba(22,61,52,.08);
}

.nc-site-footer:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:520px;
  height:520px;
  right:-250px;
  bottom:-300px;
  border:1px solid rgba(223,199,136,.13);
  border-radius:50%;
  box-shadow:
    0 0 0 72px rgba(223,199,136,.025),
    0 0 0 150px rgba(223,199,136,.018);
}

.nc-footer-accent{
  height:4px;
  background:linear-gradient(90deg,transparent 3%,#C79A43 28%,#DFC788 50%,#A9553C 72%,transparent 97%);
  opacity:.88;
}

.nc-site-footer .nc-container{
  width:min(1240px,calc(100% - 36px));
}

/* Footer CTA */
.nc-footer-cta{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) auto;
  gap:36px;
  align-items:center;
  margin-top:38px;
  padding:30px 34px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  border:1px solid rgba(223,199,136,.28);
  border-radius:26px;
  box-shadow:0 22px 55px rgba(3,18,14,.16);
  backdrop-filter:blur(8px);
}

.nc-footer-cta:after{
  content:"3 • 6 • 9";
  position:absolute;
  right:28px;
  top:-18px;
  color:rgba(223,199,136,.08);
  font:700 5.8rem Georgia,"Times New Roman",serif;
  letter-spacing:.08em;
  pointer-events:none;
}

.nc-footer-cta-copy{position:relative;z-index:1}

.nc-footer-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
  color:#DFC788;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.nc-footer-eyebrow:before{
  content:"";
  width:27px;
  height:1px;
  background:#C79A43;
}

.nc-footer-cta h2{
  max-width:760px;
  margin:0;
  color:#FFF9EF;
  font-size:clamp(1.65rem,2.7vw,2.65rem);
  line-height:1.08;
}

.nc-footer-cta p{
  max-width:760px;
  margin:.7rem 0 0;
  color:#CCD9D4;
  font-size:.94rem;
  line-height:1.65;
}

.nc-footer-cta-actions{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.nc-footer-outline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 17px;
  color:#F7F0E4;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  font-size:.84rem;
  font-weight:800;
  transition:.2s ease;
}

.nc-footer-outline-btn:hover{
  color:#fff;
  border-color:rgba(223,199,136,.65);
  background:rgba(255,255,255,.10);
  transform:translateY(-2px);
}

/* Main columns */
.nc-footer-main{
  display:grid;
  grid-template-columns:1.5fr .82fr .92fr 1fr;
  gap:46px;
  padding:50px 0 38px;
}

.nc-footer-brand-block{min-width:0}

.nc-footer-brand{
  display:inline-flex;
  align-items:center;
  gap:15px;
  color:#fff;
  text-decoration:none;
}

.nc-footer-brand:hover{color:#fff}

.nc-footer-logo{
  width:86px;
  height:86px;
  flex:0 0 86px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.045);
  box-shadow:0 12px 35px rgba(0,0,0,.18),0 0 0 1px rgba(223,199,136,.20);
}

.nc-footer-logo img{
  width:86px;
  height:86px;
  object-fit:contain;
  border-radius:50%;
}

.nc-footer-brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.nc-footer-brand-copy strong{
  color:#FFF9EF;
  font-size:1.22rem;
  font-weight:850;
  line-height:1.1;
  letter-spacing:-.02em;
}

.nc-footer-brand-copy small{
  display:block;
  margin-top:6px;
  color:#AFC2BB;
  font-size:.63rem;
  font-weight:650;
  line-height:1.42;
  letter-spacing:.035em;
}

.nc-footer-description{
  max-width:430px;
  margin:20px 0 0;
  color:#C4D2CD;
  font-size:.91rem;
  line-height:1.75;
}

.nc-footer-email{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  padding:10px 13px;
  color:#F7F0E4;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  transition:.2s ease;
}

.nc-footer-email:hover{
  color:#fff;
  border-color:rgba(223,199,136,.42);
  background:rgba(255,255,255,.085);
}

.nc-footer-email-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  color:#1B2A25;
  background:linear-gradient(135deg,#C79A43,#DFC788);
  border-radius:50%;
}

.nc-footer-email small,
.nc-footer-email strong{display:block}
.nc-footer-email small{color:#AFC2BB;font-size:.66rem;line-height:1.1}
.nc-footer-email strong{margin-top:3px;color:#F7F0E4;font-size:.82rem;line-height:1.1}

.nc-footer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}

.nc-footer-badges span{
  padding:6px 9px;
  color:#D9E2DE;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  font-size:.66rem;
  font-weight:720;
}

.nc-footer-col h3{
  position:relative;
  margin:8px 0 18px;
  padding-bottom:11px;
  color:#FFF8EC;
  font:800 .88rem Inter,system-ui,sans-serif;
  letter-spacing:.025em;
}

.nc-footer-col h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:35px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#C79A43,#DFC788);
}

.nc-footer-col a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  color:#B9CAC4;
  font-size:.83rem;
  line-height:1.35;
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:.2s ease;
}

.nc-footer-col a span{
  color:#C79A43;
  opacity:0;
  transform:translateX(-5px);
  transition:.2s ease;
}

.nc-footer-col a:hover{
  color:#FFF9EF;
  padding-left:4px;
}

.nc-footer-col a:hover span{
  opacity:1;
  transform:translateX(0);
}

/* Responsibility panel */
.nc-footer-guidance{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin:0 0 27px;
  padding:18px 20px;
  color:#C9D6D1;
  background:rgba(5,27,22,.32);
  border:1px solid rgba(223,199,136,.16);
  border-left:3px solid #C79A43;
  border-radius:0 16px 16px 0;
}

.nc-footer-guidance-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 30px;
  color:#DFC788;
  border:1px solid rgba(223,199,136,.28);
  border-radius:50%;
}

.nc-footer-guidance strong{
  display:block;
  color:#F7F0E4;
  font-size:.8rem;
  letter-spacing:.02em;
}

.nc-footer-guidance p{
  max-width:1000px;
  margin:4px 0 0;
  color:#AFC2BB;
  font-size:.74rem;
  line-height:1.6;
}

/* Bottom */
.nc-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:22px;
  margin-top:0;
  color:#91A69F;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:.74rem;
}

.nc-footer-legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}

.nc-footer-legal a{
  color:#AFC2BB;
  text-decoration:none;
}

.nc-footer-legal a:hover{color:#DFC788}

/* Footer is intentionally a deep brand surface in both site themes. */
html[data-theme="dark"] .nc-site-footer{
  background:
    radial-gradient(circle at 8% 8%,rgba(223,199,136,.10),transparent 26rem),
    radial-gradient(circle at 92% 18%,rgba(121,168,153,.09),transparent 28rem),
    linear-gradient(145deg,#091612 0%,#10251F 52%,#18392F 100%);
}

@media(max-width:1050px){
  .nc-footer-cta{grid-template-columns:1fr}
  .nc-footer-cta-actions{justify-content:flex-start}
  .nc-footer-main{grid-template-columns:1.25fr 1fr 1fr;gap:34px}
  .nc-footer-brand-block{grid-column:1 / -1;max-width:720px}
}

@media(max-width:760px){
  .nc-site-footer{margin-top:56px}
  .nc-site-footer .nc-container{width:calc(100% - 28px)}
  .nc-footer-cta{padding:25px 22px;border-radius:22px}
  .nc-footer-cta:after{font-size:4rem;right:-12px}
  .nc-footer-main{grid-template-columns:1fr 1fr;gap:34px 26px;padding-top:40px}
  .nc-footer-brand-block{grid-column:1 / -1}
  .nc-footer-bottom{align-items:flex-start;flex-direction:column}
  .nc-footer-legal{justify-content:flex-start;gap:14px}
}

@media(max-width:520px){
  .nc-footer-cta-actions{align-items:stretch;flex-direction:column}
  .nc-footer-cta-actions .nc-btn,
  .nc-footer-outline-btn{width:100%}
  .nc-footer-main{grid-template-columns:1fr}
  .nc-footer-brand-block{grid-column:auto}
  .nc-footer-brand{align-items:flex-start}
  .nc-footer-logo,.nc-footer-logo img{width:72px;height:72px;flex-basis:72px}
  .nc-footer-brand-copy strong{font-size:1.08rem}
  .nc-footer-col h3{margin-top:2px}
  .nc-footer-guidance{padding:16px}
}
