/*
 Theme Name:   Newfangled Frontier Child
 Theme URI:    https://frontier.newfangled.com
 Description:  Child theme for Genesis Block Theme — adds the Newfangled Frontier page template.
 Author:       Newfangled
 Author URI:   https://newfangled.com
 Template:     genesis-block-theme
 Version:      2.0.0
 License:      GNU General Public License v2 or later
 Text Domain:  nf-frontier-child
*/

/* ═══════════════════════════════════════════════════════════════════
   FRONTIER THEME STYLES — v2
   Redesigned to align with the Newfangled.com brand language.
   ═══════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  /* ── Palette (aligned to newfangled.com) ── */
  --bg:#222222;
  --bg-alt:#2a2a2a;
  --bg-subtle:#333333;
  --bg-hover:#3a3a3a;
  --bg-dark:#1a1a1a;

  --text:#FFFFFF;
  --text-heading:#FFFFFF;
  --text-dim:rgba(255,255,255,0.65);
  --text-muted:rgba(255,255,255,0.5);

  --border:rgba(255,255,255,0.12);
  --border-light:rgba(255,255,255,0.08);
  --border-rule:#FFFFFF;

  --accent:#1A99D4;
  --accent-hover:#118CC5;
  --accent-deep:#097CB2;
  --accent-gold:#FFD600;
  --accent-green:#4DC8A1;
  --accent-green-hover:#2EAA83;

  --green:#4CAF50;
  --red:#F44336;
  --amber:#FF9800;

  --font:'IBM Plex Sans',system-ui,sans-serif;

  /* ── Badge color from official Frontier logo ── */
  --frontier-purple:#50246C;
}

html,body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  font-weight:400;
  line-height:1.375;
  overflow-x:hidden;
  height:100%;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
@media screen and (min-width:1025px){
  html,body{
    font-size:18px;
    line-height:1.6;
  }
}

::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:4px;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:var(--bg);
  border-bottom:none;
}

.admin-bar nav{top:32px;}
.admin-bar .mobile-menu{top:152px;}
@media screen and (max-width:782px){
  .admin-bar nav{top:46px;}
  .admin-bar .mobile-menu{top:166px;}
}

.nav-inner{
  max-width:1500px;
  margin:0 auto;
  padding:0 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:120px;
}

.nav-brand{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  text-decoration:none;
}
.nav-brand img{
  width:185px;
  display:block;
}

/* ── Badge styled to match official Frontier logo (purple bg, white text) ── */
.nav-badge{
  font-family:'IBM Plex Mono',monospace;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:#FFFFFF;
  background:var(--frontier-purple);
  border:none;
  padding:5px 14px;
  border-radius:2px;
}

.nav-links{
  display:flex;
  gap:0;
  list-style:none;
  margin-left:auto;
  margin-right:24px;
}
.nav-links a{
  background:none;
  border:none;
  font-family:var(--font);
  font-size:16px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:white;
  cursor:pointer;
  padding:0 20px;
  height:60px;
  line-height:60px;
  transition:background 0.15s ease, color 0.15s ease;
  text-decoration:none;
  display:inline-block;
  text-align:center;
}
.nav-links a:hover,
.nav-links a.active{
  background:var(--accent);
  color:white;
}

/* Hide "Home" from nav — logo already links home */
.nav-links li:first-child{display:none;}
.mobile-menu a:first-child{display:none;}

.nav-cta{
  font-size:16px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  color:#fff;
  background:transparent;
  border:2px solid rgba(255,255,255,0.5);
  font-family:var(--font);
  padding:0 36px;
  height:50px;
  line-height:46px;
  cursor:pointer;
  transition:all 0.2s ease;
  text-decoration:none;
  display:inline-block;
  border-radius:30px;
  white-space:nowrap;
}
.nav-cta:hover{
  background:var(--accent-green);
  border-color:var(--accent-green);
  color:#fff;
}

.hamburger{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  flex-direction:column;
  gap:6px;
}
.hamburger span{display:block;width:24px;height:2px;background:white;}

/* Graceful nav scaling between 1400px and 1200px */
@media(max-width:1400px){
  .nav-links a{font-size:14px;padding:0 14px;height:50px;line-height:50px;}
  .nav-cta{font-size:14px;padding:0 28px;height:44px;line-height:40px;}
  .nav-brand img{width:160px;}
  .nav-badge{font-size:12px;padding:3px 8px;}
}
/* Mobile menu at 1200px */
@media(max-width:1200px){
  .nav-inner{padding:0 20px;height:96px;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .mobile-menu{top:96px;}
  .nav-brand img{width:185px;}
  .nav-badge{font-size:15px;padding:4px 10px;}
}

.mobile-menu{
  display:none;
  position:fixed;
  top:120px;
  left:0;right:0;
  background:var(--accent-hover);
  border-bottom:none;
  z-index:99;
  flex-direction:column;
  padding:24px 32px 32px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  background:none;
  border:none;
  font-family:var(--font);
  font-size:18px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:white;
  cursor:pointer;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,0.2);
  text-align:left;
  transition:opacity 0.15s ease;
  text-decoration:none;
}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a:hover,
.mobile-menu a.active{opacity:0.8;}

/* ── PAGE SYSTEM (SPA-scoped) ── */
.page-template-page-frontier div.page{
  display:none;
  min-height:calc(100vh - 120px);
  padding-top:120px;
  animation:pageIn 0.3s ease both;
}
.page-template-page-frontier div.page.active{display:block;}
@keyframes pageIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* ── SHARED ── */
.container{max-width:1500px;margin:0 auto;padding:80px 40px;}

.section-label{
  font-family:'Roboto',sans-serif;
  font-size:20px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:#999999;
  margin-bottom:16px;
}

.section-title{
  font-size:clamp(30px,4vw,64px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:var(--text-heading);
  margin-bottom:24px;
}
@media screen and (min-width:1025px){
  .section-title{
    font-size:clamp(36px,4vw,64px);
  }
}

.section-sub{
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:var(--text-dim);
  max-width:640px;
  margin-bottom:56px;
}
@media screen and (min-width:1025px){
  .section-sub{
    font-size:20px;
    line-height:1.7;
  }
}

.btn{
  display:inline-block;
  font-family:var(--font);
  font-size:16px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  padding:0 46px;
  height:50px;
  line-height:50px;
  cursor:pointer;
  border:none;
  transition:all 150ms ease-out;
  text-decoration:none;
  border-radius:30px;
  background-repeat:no-repeat;
  background-size:0 0;
  background-position:left 24px center;
}
.btn-primary{
  background-color:var(--accent-green);
  color:#fff;
}
.btn-primary:hover{
  background-color:var(--accent-green-hover);
  text-indent:14px;
  padding-right:32px;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTE4Ny41Mi0xNjUuNTRxLTI1Ljc3IDAtNDMuNTctMTcuOHQtMTcuOC00My41NXYtNTA2LjIycTAtMjUuNzUgMTcuOC00My41NSAxNy44LTE3LjggNDMuNTctMTcuOGg1ODQuOTZxMjUuNzcgMCA0My41NyAxNy44dDE3LjggNDMuNTV2NTA2LjIycTAgMjUuNzUtMTcuOCA0My41NS0xNy44IDE3LjgtNDMuNTcgMTcuOEgxODcuNTJabS4xNy0zNi45Mmg1ODQuNjJxOS4yMyAwIDE2LjkyLTcuNjkgNy42OS03LjcgNy42OS0xNi45M3YtNTA1Ljg0cTAtOS4yMy03LjY5LTE2LjkzLTcuNjktNy42OS0xNi45Mi03LjY5SDE4Ny42OXEtOS4yMyAwLTE2LjkyIDcuNjktNy42OSA3LjctNy42OSAxNi45M3Y1MDUuODRxMCA5LjIzIDcuNjkgMTYuOTMgNy42OSA3LjY5IDE2LjkyIDcuNjlaTTIzNS4zOC0zMDBoMTUzLjg1di00MEgyMzUuMzh2NDBaTTU4Mi0zOTEuNTRsMTYzLjM4LTE2My4zOC0yOC41My0yOC41NEw1ODItNDQ3LjYybC01Ny01Ny0yNy41NCAyOC41NEw1ODItMzkxLjU0Wk0yMzUuMzgtNDYwaDE1My44NXYtNDBIMjM1LjM4djQwWm0wLTE2MGgxNTMuODV2LTQwSDIzNS4zOHY0MFptLTcyLjMgNDE3LjU0Vi03NTcuNTQtMjAyLjQ2WiIvPjwvc3ZnPg==");
  background-size:20px 20px;
  background-repeat:no-repeat;
  background-position:left 22px center;
}
.btn-ghost{
  background-color:transparent;
  border:2px solid rgba(255,255,255,0.25);
  color:#FFFFFF;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;
}
.btn-ghost:hover{
  border-color:var(--accent-green);
  color:#FFFFFF;
  background-color:var(--accent-green);
}

.rule{
  width:0;
  height:0;
  background:transparent;
  margin-bottom:0;
  display:none;
}

/* ── CONTENT PAGES (page.php, home.php, single.php) ── */
.page-container{max-width:800px;margin:0 auto;padding:160px 40px 80px;}
.page-container > article + article{margin-top:80px;border-top:1px solid var(--border);padding-top:80px;}

.page-meta{
  font-size:12px;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:16px;
  font-family:'IBM Plex Mono',monospace;
}
.page-title{
  font-size:clamp(30px,5vw,64px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:var(--text-heading);
  margin-bottom:28px;
}
.page-title em{font-style:normal;color:var(--accent);}

.page-content{font-size:18px;font-weight:400;line-height:1.7;color:var(--text);}
@media screen and (min-width:1025px){
  .page-content{font-size:20px;line-height:1.8;}
}
.page-content > *:first-child{margin-top:0;}
.page-content > *:last-child{margin-bottom:0;}
.page-content p{margin-bottom:1.4em;}
.page-content h2{
  font-size:28px;font-weight:700;letter-spacing:-0.01em;
  color:var(--text-heading);margin:2em 0 0.6em;line-height:1.2;
}
@media screen and (min-width:1025px){
  .page-content h2{font-size:34px;}
}
.page-content h3{
  font-size:22px;font-weight:600;letter-spacing:-0.01em;
  color:var(--text-heading);margin:1.8em 0 0.5em;line-height:1.3;
}
@media screen and (min-width:1025px){
  .page-content h3{font-size:28px;}
}
.page-content h4{font-size:18px;font-weight:600;color:var(--text-heading);margin:1.6em 0 0.4em;}

.page-content a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.3);
  transition:background 0.15s ease;
}
.page-content a:hover{
  background:rgba(255,214,0,0.35);
}
.page-content strong{font-weight:700;color:var(--text-heading);}
.page-content em{font-style:italic;color:var(--text-dim);}
.page-content ul,.page-content ol{margin:0 0 1.4em 1.4em;padding:0;}
.page-content li{margin-bottom:0.5em;}
.page-content blockquote{
  border-left:3px solid var(--accent);
  padding:8px 0 8px 24px;margin:1.6em 0;
  color:var(--text-dim);font-style:italic;
  font-weight:300;
}
.page-content code{
  background:var(--bg-alt);border:1px solid var(--border);
  padding:2px 6px;font-family:'IBM Plex Mono',monospace;font-size:0.9em;
}
.page-content pre{
  background:var(--bg-dark);border:1px solid var(--border);padding:20px;
  overflow-x:auto;font-family:'IBM Plex Mono',monospace;font-size:14px;line-height:1.6;margin:1.6em 0;
  border-radius:4px;
}
.page-content pre code{background:none;border:none;padding:0;}
.page-content hr{border:0;border-top:1px solid var(--border);margin:2.4em 0;}
.page-content img{max-width:100%;height:auto;margin:1.4em 0;border-radius:4px;}

@media(max-width:1240px){
  .page-container{padding:140px 20px 60px;}
}

/* ── HOME PAGE (SPA-scoped) ── */
.page-template-page-frontier .home-hero{
  padding:140px 40px 80px;
  max-width:1500px;
  margin:0 auto 60px;
  position:relative;
  z-index:1;
}
/* Full-bleed hero background image (matches newfangled.com) */
.page-template-page-frontier .home-hero::before{
  content:'';
  position:absolute;
  top:0;left:50%;
  width:100vw;
  height:100%;
  transform:translateX(-50%);
  background-image:url('https://www.newfangled.com/wp-content/uploads/2020/10/newfangled-homepage-banner-2000x667.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:-1;
  opacity:0.7;
}
.page-template-page-frontier .hero-eyebrow{
  font-family:'Roboto',sans-serif;
  font-size:20px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:#999999;
  margin-bottom:24px;
}
.page-template-page-frontier .hero-title{
  font-size:clamp(40px,7vw,96px);
  font-weight:700;
  line-height:1.0;
  letter-spacing:-0.03em;
  color:var(--text-heading);
  margin-bottom:36px;
}
.page-template-page-frontier .hero-title em{
  font-style:normal;
  color:var(--text-heading);
  display:inline-block;
  position:relative;
}
.page-template-page-frontier .hero-title em::after{
  content:'';
  display:block;
  position:relative;
  border-bottom:5px solid var(--accent);
  z-index:-1;
  top:-6px;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .hero-title em::after{
    border-bottom-width:9px;
    top:-8px;
  }
}
.page-template-page-frontier .hero-sub{
  font-size:18px;
  font-weight:400;
  line-height:1.7;
  color:var(--text);
  max-width:640px;
  margin-bottom:48px;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .hero-sub{
    font-size:22px;
    line-height:1.6;
  }
}
.page-template-page-frontier .hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

.page-template-page-frontier .home-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:none;
  max-width:1500px;
  margin:0 auto;
  gap:0;
}
.page-template-page-frontier .home-split-panel{padding:64px 48px;}
.page-template-page-frontier .home-split-panel:first-child{border-right:1px solid var(--border);}

.page-template-page-frontier .home-stat{margin-bottom:40px;}
.page-template-page-frontier .home-stat:last-child{margin-bottom:0;}
.page-template-page-frontier .stat-num{
  font-size:48px;font-weight:700;letter-spacing:-0.03em;
  color:var(--text-heading);line-height:1;
}
.page-template-page-frontier .stat-num em{font-style:normal;color:var(--accent);}
.page-template-page-frontier .stat-label{
  font-size:15px;font-weight:400;
  text-transform:none;letter-spacing:0;
  color:var(--text-dim);margin-top:10px;
  line-height:1.5;
}

.page-template-page-frontier .timeline{display:flex;flex-direction:column;}
.page-template-page-frontier .tl-item{
  display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--border-light);
}
.page-template-page-frontier .tl-item:first-child{padding-top:0;}
.page-template-page-frontier .tl-item:last-child{border-bottom:none;padding-bottom:0;}
.page-template-page-frontier .tl-year{
  font-size:13px;font-weight:600;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--accent);min-width:52px;padding-top:3px;
}
.page-template-page-frontier .tl-text{font-size:16px;font-weight:400;line-height:1.6;color:var(--text);}
@media screen and (min-width:1025px){
  .page-template-page-frontier .tl-text{font-size:18px;}
}
.page-template-page-frontier .tl-text strong{font-weight:700;color:var(--text-heading);}

/* ── SERVICES PAGE (SPA-scoped) ── */
.page-template-page-frontier .services-hero{padding:80px 40px 0;max-width:1500px;margin:0 auto;}
.page-template-page-frontier .services-grid{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:none;
  max-width:1500px;
  margin:0 auto;
  gap:0;
}
.page-template-page-frontier .svc-card{
  padding:56px 48px;
  margin:20px;
  background:#fafafa;
  border-bottom:none;
  border-right:none;
  border-radius:0;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  cursor:default;
}
.page-template-page-frontier .svc-card:nth-child(even){border-right:none;}
.page-template-page-frontier .svc-card:nth-last-child(-n+2){border-bottom:none;}
.page-template-page-frontier .svc-card:hover{
  background:#fafafa;
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(0,0,0,0.3);
}

/* svc-num stays #999999 (eyebrow style already in place) */
.page-template-page-frontier .svc-num{
  font-family:'Roboto',sans-serif;
  font-size:20px;font-weight:400;letter-spacing:0;
  color:#999999;margin-bottom:20px;
}
.page-template-page-frontier .svc-title{
  font-size:26px;font-weight:700;letter-spacing:-0.01em;
  color:#222222;margin-bottom:16px;line-height:1.2;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .svc-title{font-size:30px;}
}
.page-template-page-frontier .svc-desc{
  font-size:16px;font-weight:400;line-height:1.7;color:#222222;margin-bottom:24px;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .svc-desc{font-size:18px;}
}
.page-template-page-frontier .svc-tags{display:flex;flex-wrap:wrap;gap:8px;}
.page-template-page-frontier .svc-tag{
  font-size:16px;font-weight:400;letter-spacing:0;
  text-transform:none;
  border:1px solid rgba(34,34,34,0.2);color:#666666;
  padding:5px 15px;
  border-radius:20px;
}
.page-template-page-frontier .svc-cta{
  margin-top:32px;border-top:1px solid rgba(34,34,34,0.1);
  padding-top:32px;display:flex;justify-content:space-between;align-items:center;
}
.page-template-page-frontier .svc-cta-label{
  font-size:18px;font-weight:500;letter-spacing:0;
  text-transform:none;color:#222222;
}

/* ── TOOLS PAGE (SPA-scoped) ── */
.page-template-page-frontier .tools-hero{padding:80px 40px 0;max-width:1500px;margin:0 auto;}
.page-template-page-frontier .tools-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;background:transparent;margin-top:56px !important;
  max-width:1500px !important;margin-left:auto !important;margin-right:auto !important;
}
.page-template-page-frontier .tool-card{
  background:#fafafa;padding:40px;margin:20px;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  display:flex;flex-direction:column;
  position:relative;
}
.page-template-page-frontier .tool-card:hover{
  background:#fafafa;
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(0,0,0,0.3);
}

/* Tool icon: blue circle with white SVG */
.page-template-page-frontier .tool-icon{
  font-size:0;line-height:0;color:transparent;
  width:48px;height:48px;
  background:var(--accent);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
  position:relative;
  flex-shrink:0;
}
.page-template-page-frontier .tool-icon::after{
  content:'';
  display:block;
  width:34px;height:34px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

/* Individual tool icons */
.page-template-page-frontier .tool-card:nth-child(1) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTQ4Ni41My0zODNxNTAuNDcgMCA4Ny43Mi0zMi4yOXQzNy4yNS04MC4yMXEwLTM5LjUtMjQuNzUtNjcuNzVUNTI0LjUtNTkxLjVxLTMwLjM3IDAtNTIuOTQgMjAuMlE0NDktNTUxLjEgNDQ5LTUyMi41NHEwIDEyLjcxIDUuNSAyNC42MyA1LjUgMTEuOTEgMTUgMjIuNDFsMjEuNS0xN3EtOC01LjgzLTEyLjI1LTEzLjMzdC00LjI1LTE1LjY3cTAtMTUuNSAxMi41OC0yOS41dDM3LjQyLTE0cTI0LjUgMCA0MyAxOXQxOC41IDUxLjVxMCAzNC40Mi0yNy4zOCA2MC4yMVQ0ODcuNy00MDguNXEtNDguNyAwLTgzLjk1LTM4LjI0dC0zNS4yNS05Ni41OHEwLTI5LjE4IDExLjUtNTYuNjh0MzMuNS00OS41bC0xOS0xOHEtMjUuMDIgMjUuMTItMzguNzYgNTYuNjJRMzQyLTU3OS4zOCAzNDItNTQ0LjY2cTAgNjYuNDQgNDEuNTcgMTE0LjA1UTQyNS4xNS0zODMgNDg2LjUzLTM4M1pNMjkzLjUtMTMzLjV2LTE0Mi44OHEtNTcuNS01MS45My04OC43NS0xMTUuMzZUMTczLjUtNTIxLjA5cTAtMTI3LjM3IDg5LjUzLTIxNi42NFEzNTIuNTctODI3IDQ3OS45LTgyN3ExMDMuMSAwIDE4Ny4yIDYzLjQ1UTc1MS4yLTcwMC4xMSA3NzYtNjAxbDM4IDE1MnEzLjUgMTMuODYtNC44OSAyNC42OFQ3ODYtNDEzLjVoLTc5Vi0yNzFxMCAyNC40NC0xNi43NyA0MC45Ny0xNi43NiAxNi41My00MC43MyAxNi41M0g1NDd2ODBoLTI1LjVWLTIzOWgxMjhxMTMuNSAwIDIyLjc1LTl0OS4yNS0yM3YtMTY4aDEwOGwtMzgtMTU2LjVxLTIzLjUtOTItOTkuNzUtMTQ5dC0xNzEuNzEtNTdxLTExNi41NCAwLTE5OC43OSA4MS45NFExOTktNjM3LjYzIDE5OS01MjFxMCA2MC41IDI0LjUgMTE0LjI1dDcwIDk1Ljc1bDI1LjUgMjMuNXYxNTRoLTI1LjVabTIwMS0zMzRaIi8+PC9zdmc+");}
.page-template-page-frontier .tool-card:nth-child(2) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTYzNy41LTIxN3YtMTU2SDc0M3YxNTZINjM3LjVabS0yMTAgMHYtNTI2SDUzM3Y1MjZINDI3LjVaTTIxNy0yMTd2LTMzNmgxMDUuNXYzMzZIMjE3WiIvPjwvc3ZnPg==");}
.page-template-page-frontier .tool-card:nth-child(3) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTIwNy43Ni0xNzYuNXEtMjQuMiAwLTQwLjczLTE2LjUzLTE2LjUzLTE2LjUzLTE2LjUzLTQwLjczdi00OTIuNDhxMC0yNC4yIDE2LjUzLTQwLjczUTE4My41Ni03ODMuNSAyMDgtNzgzLjVoMzc0LjV2MjUuNUgyMDhxLTE0IDAtMjMgOXQtOSAyM3Y0OTJxMCAxNCA5IDIzdDIzIDloNDkycTE0IDAgMjMtOXQ5LTIzdi0zNzQuNWgyNS41Vi0yMzRxMCAyNC40NC0xNi41MyA0MC45Ny0xNi41MyAxNi41My00MC43MyAxNi41M0gyMDcuNzZabTg3LjI0LTEzMmgyNS41di0yMjRIMjk1djIyNFptMTQ2LjUgMEg0Njd2LTM0M2gtMjUuNXYzNDNabTE0NiAwSDYxM3YtMTA1aC0yNS41djEwNVptMTE3LTM0Mi41di03OS41SDYyNVYtNzU2aDc5LjV2LTc5LjVINzMwdjc5LjVoNzkuNXYyNS41SDczMHY3OS41aC0yNS41Wk00NTQtNDgwWiIvPjwvc3ZnPg==");}
.page-template-page-frontier .tool-card:nth-child(4) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTcxNC00Njd2LTI1LjVoMTE3LjV2MjUuNUg3MTRabTQxLjUgMjQ4LjUtOTQtNzAgMTYuNS0yMCA5NCA3MC0xNi41IDIwWm0tODEuNS00MzctMTYuNS0yMCA5NC03MCAxNi41IDIwLTk0IDcwWk0yMjktMjU4di0xNDguNWgtNDEuNDVxLTI0LjU1IDAtNDEuOC0xNy4wNlExMjguNS00NDAuNjIgMTI4LjUtNDY1di0yOS41cTAtMjQuNSAxNy4yNS00MS43NXQ0MS43NS0xNy4yNUgzMjhsMTQyLjUtODR2MzE1bC0xNDIuNS04NGgtNzMuNVYtMjU4SDIyOVptMjE2LTExMHYtMjIzLjVMMzM1LjUtNTI4SDE4NnEtMTIgMC0yMiAxMHQtMTAgMjJ2MzJxMCAxMiAxMCAyMnQyMiAxMGgxNDkuNUw0NDUtMzY4Wm0xMTMtNHYtMjE2cTE3LjUgMTYuNSAyOCA0NXQxMC41IDYzcTAgMzQuNS0xMC41IDYzdC0yOCA0NVpNMjk5LjUtNDgwWiIvPjwvc3ZnPg==");}
.page-template-page-frontier .tool-card:nth-child(5) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTM5Ni0zMDloMTM2LjV2LTI1LjVIMzk2djI1LjVabTAtMTU4LjVoMjU1LjVWLTQ5M0gzOTZ2MjUuNVpNMzA4LjUtNjI2aDM0M3YtMjUuNWgtMzQzdjI1LjVaTTQ4MC00ODBaTTEzNy0xMzd2LTI1LjVoMTA5cS00OC0xNi41LTc4LjUtNTguNTUtMzAuNS00Mi4wNi0zMC41LTk1LjY3IDAtNjYuNzggNDcuNzEtMTE0LjAzVDMwMC00Nzh2MjUuNXEtNTcuNSAwLTk3LjUgMzkuOTgtNDAgMzkuOTctNDAgOTYuOTQgMCA1MC4wOCAzMS4yOSA4Ny42MVEyMjUuMDktMTkwLjQ0IDI3My0xODF2LTExNy41aDI1LjVWLTEzN0gxMzdabTI1OS0zOS41Vi0yMDJoMzMwcTEyIDAgMjItMTB0MTAtMjJ2LTQ5MnEwLTEyLTEwLTIydC0yMi0xMEgyMzRxLTEyIDAtMjIgMTB0LTEwIDIydjE1MC41aC0yNS41Vi03MjZxMC0yNC40NCAxNi41My00MC45NyAxNi41My0xNi41MyA0MC43My0xNi41M2g0OTIuNDhxMjQuMiAwIDQwLjczIDE2LjUzIDE2LjUzIDE2LjUzIDE2LjUzIDQwLjczdjQ5Mi40OHEwIDI0LjItMTYuNTMgNDAuNzNRNzUwLjQ0LTE3Ni41IDcyNi0xNzYuNUgzOTZaIi8+PC9zdmc+");}
.page-template-page-frontier .tool-card:nth-child(6) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTQ1My0yOTUuNXEtNjktMTAuNS0xMTQuMjUtNjIuNDRUMjkzLjUtNDgwcTAtNzguMjkgNTQuMS0xMzIuNjVRNDAxLjcxLTY2NyA0NzkuNzYtNjY3IDU1MC02NjcgNjAyLTYyMS43NXQ2MyAxMTMuMjVsLTI4LjUtOHEtMTIuOTItNTQuNS01Ni4xNC04OS43NS00My4yMy0zNS4yNS0xMDAuMjUtMzUuMjUtNjYuOTkgMC0xMTQuMDUgNDcuMjFRMzE5LTU0Ny4wOSAzMTktNDc5Ljg5cTAgNTcuMzkgMzUuNDQgMTAwLjkyIDM1LjQ0IDQzLjU0IDg5LjA2IDU1Ljk3bDkuNSAyNy41Wk01MDEtMTM0cS01LjI1LjUtMTAuNDUuNWgtMTAuMzlxLTcxLjczIDAtMTM1LjEtMjcuMjctNjMuMzctMjcuMjctMTEwLjI0LTc0LjAyLTQ2Ljg4LTQ2Ljc1LTc0LjEtMTA5Ljk1LTI3LjIyLTYzLjItMjcuMjItMTM1LjA2IDAtNzEuODUgMjcuMi0xMzUuMTIgMjcuMTktNjMuMjggNzQuMDMtMTEwLjI3IDQ2LjgzLTQ2Ljk5IDExMC4xNC03NC40UTQwOC4xOC04MjcgNDc5Ljg0LTgyN3QxMzUuMDUgMjcuNHE2My4zOCAyNy40MSAxMTAuMjcgNzQuMzkgNDYuODkgNDYuOTggNzQuMzYgMTEwLjIxUTgyNy01NTEuNzYgODI3LTQ3OS44NnEwIDQuOTctLjI1IDkuOTEtLjI1IDQuOTUtLjggOS40NWwtMjQuNDUtN1YtNDgwcTAtMTM0LjA4LTkzLjY5LTIyNy43OS05My43LTkzLjcxLTIyNy43NS05My43MS0xMzQuMDYgMC0yMjcuNTYgOTMuNjktOTMuNSA5My43LTkzLjUgMjI3Ljc1UTE1OS0zNDYgMjUyLjU2LTI1Mi41IDM0Ni4xMy0xNTkgNDgwLTE1OWgxMi41bDguNSAyNVptMjgwLTE1TDU4My0zNDhsLTMzIDEwMC03MC0yMzIgMjMyIDcwLTEwMCAzMyAxOTkgMTk4LTMwIDMwWiIvPjwvc3ZnPg==");}
.page-template-page-frontier .tool-card:nth-child(7) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTI0Ni40NC0xNjQuNXEtNDIuMiAwLTYzLjA3LTE3LjI3LTIwLjg3LTE3LjI4LTIwLjg3LTUxLjgzIDAtNDUuOTYgMzguNjItNTguNjIgMzguNjItMTIuNjYgOTEuNDMtMTIuNjZoMTYuOTV2LTQ0LjMxcTAtMjUuNzktMS4yNS00My4xNXQtNS4xMy0yOC4xNHEtMy44OC0xMC43OC05LjI1LTE1LjQtNS4zNy00LjYyLTEzLjEtNC42Mi03Ljc3IDAtMTMuMzkgMi40OC01LjYzIDIuNDctOS4zOCA1LjY5LTMgMy45Mi00IDguMjQtMSA0LjMxIDEgOS4wMiA0LjY0IDguOCAxMC44MiAxNy4yIDYuMTggOC40IDYuMTggMTkuMzQgMCAxOS41My0xNC4wOSAzMy4yOHQtMzMuNSAxMy43NXEtMTkuNDEgMC0zMy4xNi0xMy42OS0xMy43NS0xMy43LTEzLjc1LTMzLjI2IDAtMjEuMTMgOS4zNS0zNC42OSA5LjM1LTEzLjU2IDI1LjUtMjEuNDZ0MzcuNTctMTAuOXEyMS40Mi0zIDQ1LjgxLTMgNjYuOSAwIDkzLjA5IDIzLjgyUTQxNS00MDAuODYgNDE1LTM0MC4xNnYxMTUuODhxMCAxNS4wNCAzLjY0IDIyLjY2IDMuNjMgNy42MiAxMi4wNCA3LjYyIDkuMTggMCAxNC45MS0xNC43NiA1Ljc0LTE0Ljc2IDcuMzgtNDQuNzRINDYycS0yLjM1IDQ5LjI3LTE4LjQzIDY5LjEzLTE2LjA4IDE5Ljg3LTU0LjM5IDE5Ljg3LTM0LjMyIDAtNTMuNTctMTAuNXQtMjQuMzItMzJxLTcuNzUgMjMuMDktMjMuMDEgMzIuOC0xNS4yNyA5LjctNDEuODQgOS43Wm0yOTMuNTMgMHEtMTYuNDcgMC0yNS40Ny0xMy4xOC05LTEzLjE5LTIuNjctMjguNDlMNTkxLjUtNDE4cTUtMTMuNSAxNy4yOC0yMiAxMi4yOC04LjUgMjctOC41dDI2Ljk3IDguNVE2NzUtNDMxLjUgNjgwLTQxOGw3OS44NSAyMTEuNzZRNzY2LTE5MSA3NTctMTc3Ljc1cS05IDEzLjI1LTI1LjM3IDEzLjI1LTEwLjEzIDAtMTguMTEtNS41OC03Ljk3LTUuNTktMTEuMzYtMTUuMzJsLTE2LjA3LTQ1LjFINTg1LjVsLTE1LjggNDUuM3EtMy4xNiA4LjU5LTExIDE0LjY1LTcuODUgNi4wNS0xOC43MyA2LjA1Wm0tMjU0LjUzLTIzcTEwLjE0IDAgMTcuMS0xNi4yMSA2Ljk2LTE2LjIxIDYuOTYtMzkuMTlWLTI5NnEtMjAuOCAwLTMwLjE1IDEyLjM4LTkuMzUgMTIuMzgtOS4zNSA0MC4zNHY4Ljc5cTAgMjguNDkgMy4yNSAzNy43NCAzLjI1IDkuMjUgMTIuMTkgOS4yNVpNNjA2LTI4Nmg2MC41TDYzNi0zNzUuNSA2MDYtMjg2Wm0tMjguOTMtMjI0LjVxLTM4LjA3IDAtNjAuNTctMjYuNVQ0OTQtNjA4LjgycTAtODEuMTggNTEuNS0xMzMuOTN0MTMzLjQ3LTUyLjc1cTM0LjAzIDAgNTQuMDMgNy40NSAyMCA3LjQ2IDIwIDE5LjIzIDAgNC44Ny0xLjUgOS40NS0xLjUgNC41Ny01LjUgOC45OS01IDUuMzgtMTAuMjEgNy42My01LjIgMi4yNS0xMS4yMi4yNS0xMS4xLTMuMi0yNS4zNy01LjYtMTQuMjctMi40LTI2LjQtMi40LTU1LjU1IDAtODkuNjcgMzguMjRRNTQ5LTY3NC4wMiA1NDktNjExLjk4cTAgMTYuNjggNiAzNS44M1Q1ODMuNjQtNTU3cTcuODYgMCAxNi4xMi0zLjQ0IDguMjYtMy40NSAxNS4wNy0xMS4zNCAxMy4zOS0xNC4xMyAyNS4wNi00Ny4wMyAxMS42Ni0zMi45IDIxLjYxLTgwLjE5IDEuMDgtMTAuNTYgNy43OC0xNS4wMyA2LjctNC40NyAxOC42OS00LjQ3IDE0LjA4IDAgMjEuMyA3LjY0IDcuMjMgNy42MyAzLjk4IDE5LjEzLTkuNDkgMzQuMzMtMTMuMzcgNTkuMy0zLjg4IDI0Ljk3LTMuODggNDQuODkgMCAxNS44NiA0LjEzIDIzLjIgNC4xMiA3LjM0IDEyLjM3IDcuMzQgOC43MiAwIDE3LjA1LTYuNzkgOC4zMi02Ljc5IDIzLjQtMjMuNTkgMS45OS0zLjA1IDExLjc4LTUuMTIgNi4wMyAwIDkuNCA0LjggMy4zNyA0Ljc5IDMuMzcgMTMuMzcgMCAyMS44My0yNS4xNyA0Mi4zM3QtNTIuNzUgMjAuNXEtMjAuNDkgMC0zNS4yOS0xMS4yNVE2NDkuNS01MzQgNjQ0LjUtNTU0cS0xMi4wOSAyMC4zMy0yOS4yMyAzMS45MS0xNy4xNSAxMS41OS0zOC4yIDExLjU5Wm0tMzgzLjA3LTF2LTE3My45NnEwLTQ1Ljg2IDMyLTc3Ljk1dDc4LjI1LTMyLjA5cTQ2LjI1IDAgNzguNSAzMi4wNFE0MTUtNzMxLjQxIDQxNS02ODUuNTN2MTc0LjAzaC02My4ydi02My41NEgyNTd2NjMuNTRoLTYzWk0yNTctNjM4aDk1di00Ny4yOXEwLTE5LjcxLTEzLjkxLTMzLjQ2dC0zMy43OC0xMy43NXEtMTkuODcgMC0zMy41OSAxMy42NFEyNTctNzA1LjIzIDI1Ny02ODUuNDZWLTYzOFoiLz48L3N2Zz4=");}
.page-template-page-frontier .tool-card:nth-child(8) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTI1OS0yOTQuNXEtMjQuOTcgMC00MS4yMy0xNi41M1EyMDEuNS0zMjcuNTYgMjAxLjUtMzUydi0zODYuNXEwLTI0LjQ0IDE2LjI3LTQwLjk3UTIzNC4wMy03OTYgMjU5LTc5Nmg1NDUuNXEyNC40NCAwIDQwLjk3IDE2LjUzUTg2Mi03NjIuOTQgODYyLTczOC41Vi0zNTJxMCAyNC40NC0xNi41MyA0MC45Ny0xNi41MyAxNi41My00MC45NyAxNi41M0gyNTlaTTUzMS41LTUxMSAyMjctNzQxLjVWLTM1MnEwIDE0IDkgMjN0MjMgOWg1NDUuNXExMy41IDAgMjIuNzUtOXQ5LjI1LTIzdi0zODkuNUw1MzEuNS01MTFabTAtMzAuNSAyOTUtMjIzcS0zLjUtMy02Ljc1LTQuNXQtOS4yNS0xLjVIMjUzcS01IDAtMTAgMi41dC04IDUuNWwyOTYuNSAyMjFaTTE1Ni0xOTEuNXEtMjQuOTcgMC00MS4yMy0xNi41M1E5OC41LTIyNC41NiA5OC41LTI0OXYtMzI0SDEyNHYzMjRxMCAxNCA5IDIzdDIzIDloNTYwLjV2MjUuNUgxNTZaTTgzNi41LTc0MXEwLTUuMDgtMy41LTEyLjk2LTMuNS03Ljg4LTYuNS0xMC41NC0zLjUtMy02Ljc1LTQuNXQtOS4yNS0xLjVIMjUzcS01IDAtMTAgMi41dC04IDUuNXEtMy41IDIuNjYtNS43NSAxMFQyMjctNzQxdi0yOS41aDYwOS41djI5LjVaIi8+PC9zdmc+");}
.page-template-page-frontier .tool-card:nth-child(9) .tool-icon::after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTIxNi41LTQxNC41cS0yOCAwLTQ2Ljc1LTE4Ljc2VDE1MS00NzkuOTdxMC0yNy41MyAxOC45OC00Ni4yOFQyMTYuNS01NDV2LTEwMS41cTAtMjMuMTkgMTYuODktNDAuMzRRMjUwLjI4LTcwNCAyNzQtNzA0aDE0MXEwLTI3LjUgMTguNzUtNDYuMjVUNDgwLTc2OXEyNy41IDAgNDYuMjUgMTguNjJRNTQ1LTczMS43NSA1NDUtNzA0aDE0MXEyMy43MiAwIDQwLjYxIDE3LjE2IDE2Ljg5IDE3LjE1IDE2Ljg5IDQwLjM0Vi01NDVxMjcuNSAwIDQ2LjUgMTguNjIgMTkgMTguNjMgMTkgNDYuMzggMCAyNy45Ni0xOC43NyA0Ni43My0xOC43NyAxOC43Ny00Ni43MyAxOC43N3YxODBxMCAyMy43Mi0xNi44OSA0MC42MVQ2ODYtMTc3SDI3NHEtMjMuNzIgMC00MC42MS0xNi44OVQyMTYuNS0yMzQuNXYtMTgwWm0xNjcuNzUtNjIuNDdxOS43NS05LjQ3IDkuNzUtMjN0LTkuNTctMjMuMjhxLTkuNTgtOS43NS0yMy4yNS05Ljc1LTEzLjY4IDAtMjMuMTggOS41Ny05LjUgOS41OC05LjUgMjMuMjUgMCAxMy42OCA5LjQ3IDIzLjE4dDIzIDkuNXExMy41MyAwIDIzLjI4LTkuNDdabTIzOCAwcTkuNzUtOS40NyA5Ljc1LTIzdC05LjU3LTIzLjI4cS05LjU4LTkuNzUtMjMuMjUtOS43NS0xMy42OCAwLTIzLjE4IDkuNTctOS41IDkuNTgtOS41IDIzLjI1IDAgMTMuNjggOS40NyAyMy4xOHQyMyA5LjVxMTMuNTMgMCAyMy4yOC05LjQ3Wk0zNDgtMzA4LjVoMjY0Vi0zMzRIMzQ4djI1LjVabS03NCAxMDZoNDEycTE0IDAgMjMtOXQ5LTIzdi00MTJxMC0xMy41LTktMjIuNzV0LTIzLTkuMjVIMjc0cS0xNCAwLTIzIDkuMjV0LTkgMjIuNzV2NDEycTAgMTQgOSAyM3QyMyA5Wm0yMDYtMjM4WiIvPjwvc3ZnPg==");}

/* Tool card text — dark colors for light background */
.page-template-page-frontier .tool-name{
  font-size:20px;font-weight:700;letter-spacing:-0.01em;
  color:#222222;margin-bottom:10px;line-height:1.2;
}
.page-template-page-frontier .tool-desc{
  font-size:18px;font-weight:400;line-height:1.5;
  color:#666666;margin-bottom:20px;flex:1;
}

/* Tool badge — positioned top-right, aligned with icon */
.page-template-page-frontier .tool-badge{
  font-family:'Roboto',sans-serif;
  font-size:16px;font-weight:500;letter-spacing:0;
  text-transform:none;padding:4px 14px;border-radius:20px;
  position:absolute;
  top:44px;right:40px;
  background:transparent;
}
.page-template-page-frontier .tool-badge.live{
  background:transparent;color:#4DC8A1;
  border:2px solid #4DC8A1;
}
.page-template-page-frontier .tool-badge.custom{
  background:transparent;color:var(--accent);
  border:2px solid var(--accent);
}

/* btn inside tool cards — green with animated icon reveal on hover */
.page-template-page-frontier .tool-card .btn-ghost{
  border:none;
  background-color:var(--accent-green);
  color:#fff;
  position:relative;
  overflow:hidden;
  padding:0 46px;
  transition:all 150ms ease-out;
  align-self:flex-start;
  width:auto !important;
}
.page-template-page-frontier .tool-card .btn-ghost::before{
  content:'';
  position:absolute;
  left:20px;
  top:50%;
  width:20px;height:20px;
  margin-top:-10px;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0ibTQxNi0xMzItMTQtMTEycS0yMS02LTQ2LjUtMjBUMzEzLTI5NGwtMTAzIDQ0LTY0LTExMiA4OS02N3EtMi0xMi0zLjUtMjV0LTEuNS0yNXEwLTExIDEuNS0yMy41VDIzNS01MzFsLTg5LTY3IDY0LTExMCAxMDIgNDNxMjAtMTcgNDMuNS0zMC41VDQwMS03MTZsMTUtMTEyaDEyOGwxNCAxMTNxMjYgOSA0NS41IDIwLjVUNjQ0LTY2NWwxMDYtNDMgNjQgMTEwLTkzIDcwcTQgMTQgNC41IDI1LjV0LjUgMjIuNXEwIDEwLTEgMjEuNXQtNCAyOC41bDkxIDY4LTY0IDExMi0xMDQtNDVxLTIxIDE4LTQyIDMwLjVUNTU4LTI0NWwtMTQgMTEzSDQxNlptMjQtMjhoNzhsMTUtMTA5cTMwLTggNTMuNS0yMS41VDYzNi0zMjlsMTAwIDQzIDQwLTY4LTg4LTY2cTUtMTggNi41LTMydDEuNS0yOHEwLTE1LTEuNS0yOHQtNi41LTMwbDkwLTY4LTQwLTY4LTEwMyA0M3EtMTctMTktNDcuNS0zN1Q1MzItNjkxbC0xMi0xMDloLTgwbC0xMiAxMDhxLTMwIDYtNTUgMjB0LTUxIDQwbC0xMDAtNDItNDAgNjggODcgNjVxLTUgMTMtNyAyOXQtMiAzM3EwIDE1IDIgMzB0NiAyOWwtODYgNjYgNDAgNjggOTktNDJxMjQgMjQgNDkgMzh0NTcgMjJsMTMgMTA4Wm0zOC0yMzJxMzcgMCA2Mi41LTI1LjVUNTY2LTQ4MHEwLTM3LTI1LjUtNjIuNVQ0NzgtNTY4cS0zNyAwLTYyLjUgMjUuNVQzOTAtNDgwcTAgMzcgMjUuNSA2Mi41VDQ3OC0zOTJabTItODhaIi8+PC9zdmc+");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  opacity:0;
  transform:translateX(-10px);
  transition:opacity 150ms ease-out, transform 150ms ease-out;
}
.page-template-page-frontier .tool-card .btn-ghost:hover{
  border:none;
  background-color:var(--accent-green-hover);
  color:#fff;
  text-indent:14px;
  padding-right:32px;
}
.page-template-page-frontier .tool-card .btn-ghost:hover::before{
  opacity:1;
  transform:translateX(0);
  animation:gear-spin 3s linear 0.15s infinite;
}
@keyframes gear-spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

.page-template-page-frontier .tools-note{
  max-width:1500px;margin:0 auto;padding:40px;
  border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;
}
.page-template-page-frontier .tools-note-text{
  font-size:17px;font-weight:400;color:var(--text-dim);max-width:560px;line-height:1.6;
}

/* ── AUDIT PAGE (SPA-scoped) ── */
.page-template-page-frontier .audit-hero{padding:80px 40px 60px;max-width:1500px;margin:0 auto;}
.page-template-page-frontier .audit-body{max-width:1500px;margin:0 auto;padding:60px 40px 80px;border-top:1px solid #444444;}
.page-template-page-frontier .audit-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
/* Swap columns: steps (2nd child) goes left, visual (1st child) goes right */
.page-template-page-frontier .audit-split > div:first-child{order:2;}
.page-template-page-frontier .audit-split > .audit-steps-section{order:1;}

/* Audit visual — styled like svc-card (light bg, dark text) */
.page-template-page-frontier .audit-visual{
  background:#fafafa;
  border:none;
  padding:60px;position:sticky;top:140px;
  border-radius:0;
}
.page-template-page-frontier .av-label{
  font-size:16px;font-weight:400;letter-spacing:0.08em;
  text-transform:uppercase;color:#999999;margin-bottom:60px;
}
.page-template-page-frontier .av-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0;border-bottom:1px solid rgba(34,34,34,0.1);
}
.page-template-page-frontier .av-row:last-of-type{border-bottom:none;}
.page-template-page-frontier .av-name{font-size:18px;font-weight:400;color:#222222;}
/* All av-val numbers — green text on light green pill */
.page-template-page-frontier .av-val{
  font-size:18px;font-weight:600;
  color:#0eab63;background:rgba(77,200,161,0.15);
  padding:4px 14px;border-radius:20px;
  display:inline-block;
}
.page-template-page-frontier .av-val.hi{color:#0eab63;background:rgba(77,200,161,0.15);}
.page-template-page-frontier .av-val.md{color:#0eab63;background:rgba(77,200,161,0.15);}
.page-template-page-frontier .av-val.lo{color:#0eab63;background:rgba(77,200,161,0.15);}
.page-template-page-frontier .av-total{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0 0;margin-top:8px;border-top:none;
}
.page-template-page-frontier .av-total-label{font-size:18px;font-weight:800;color:#222222;}
.page-template-page-frontier .av-total-val{
  font-size:18px;font-weight:800;
  color:#FFFFFF;background:#4DC8A1;
  padding:4px 14px;border-radius:20px;
  display:inline-block;
}

/* Audit visual inline subhead (av-subhead has inline styles) */
.page-template-page-frontier .audit-visual [class*="av-subhead"]{
  font-size:14px !important;font-weight:400 !important;
  color:#999999 !important;
}
.page-template-page-frontier .audit-visual [class*="av-subhead"] span{
  color:#999999 !important;
}

.page-template-page-frontier .audit-steps-section h2{
  font-size:clamp(26px,3vw,40px);font-weight:700;letter-spacing:-0.02em;
  color:var(--text-heading);margin-bottom:20px;line-height:1.2;
}
.page-template-page-frontier .audit-steps-section p{
  font-size:17px;font-weight:400;line-height:1.7;color:var(--text);margin-bottom:20px;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .audit-steps-section p{font-size:18px;}
}
.page-template-page-frontier .audit-steps-section p:last-of-type{margin-bottom:0;}
.page-template-page-frontier .steps{display:flex;flex-direction:column;gap:0;margin-top:20px;}
.page-template-page-frontier .step{
  display:flex;gap:20px;padding:28px 0;border-bottom:1px solid var(--border-light);
}
.page-template-page-frontier .step:first-child{border-top:1px solid var(--border-light);}

/* Step numbers — white text on solid blue circles, 40x40 */
.page-template-page-frontier .step-num{
  font-size:18px;font-weight:500;letter-spacing:0;
  color:#FFFFFF;background:var(--accent);border:none;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:0;border-radius:50%;
}
.page-template-page-frontier .step-content h4{
  font-size:17px;font-weight:600;color:var(--text-heading);margin-bottom:6px;
}
.page-template-page-frontier .step-content p{
  font-size:15px;font-weight:400;line-height:1.6;color:var(--text);margin:0;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .step-content p{font-size:16px;}
}

/* Audit promise — blue bg, white asterisk icon aligned with step-nums */
.page-template-page-frontier .audit-promise{
  background:#1A99D4;
  border-left:none;
  padding:32px 40px;
  margin-top:60px;
  border-radius:0;
  display:flex;
  gap:20px;
  align-items:flex-start;
}
.page-template-page-frontier .audit-promise::before{
  content:'';
  width:40px;height:40px;min-width:40px;
  background:transparent;
  border-radius:0;
  flex-shrink:0;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTQ2Ni0xNzJ2LTI3NEwyNzItMjUybC0yMC0yMCAxOTQtMTk0SDE3MnYtMjhoMjc0TDI1Mi02ODhsMjAtMTkgMTk0IDE5NHYtMjc1aDI4djI3NWwxOTQtMTk0IDE5IDE5LTE5NCAxOTRoMjc1djI4SDUxM2wxOTQgMTk0LTE5IDIwLTE5NC0xOTR2Mjc0aC0yOFoiLz48L3N2Zz4=");
  background-size:38px 38px;
  background-repeat:no-repeat;
  background-position:center;
}
.page-template-page-frontier .audit-promise p{
  font-size:17px;font-weight:400;line-height:1.7;color:#FFFFFF;margin:0;
}
.page-template-page-frontier .audit-promise strong{font-weight:700;color:#FFFFFF;}

/* ── PRICING PAGE (SPA-scoped) ── */
.page-template-page-frontier .pricing-hero{padding:80px 40px 0;max-width:1500px;margin:0 auto;}
.page-template-page-frontier .pricing-cards{
  max-width:1500px;margin:0 auto;padding:56px 40px 80px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  border:none;
}
/* ── Non-featured p-card: semi-transparent light bg, white text ── */
.page-template-page-frontier .p-card{
  padding:48px 40px;
  border:none;
  border-radius:0;
  background:rgba(250,250,250,0.05);
  display:flex;flex-direction:column;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  text-align:center;
}
.page-template-page-frontier .p-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(0,0,0,0.3);
}
/* ── Featured p-card: solid light bg like svc-cards, dark text ── */
.page-template-page-frontier .p-card.featured{
  background:#fafafa;
  border:none;
}
.page-template-page-frontier .p-card.featured .p-label{color:var(--accent);}
.page-template-page-frontier .p-card.featured .p-name{color:#222222;}
.page-template-page-frontier .p-card.featured .p-amount{color:#222222;}
.page-template-page-frontier .p-card.featured .p-period{color:#999999;}
.page-template-page-frontier .p-card.featured .p-divider{background:rgba(34,34,34,0.15);}
.page-template-page-frontier .p-card.featured .p-features li{color:#222222;}
.page-template-page-frontier .p-card.featured .p-note{color:rgba(34,34,34,0.5);}

/* p-label: match section-label style */
.page-template-page-frontier .p-label{
  font-family:'Roboto',sans-serif;
  font-size:20px;font-weight:400;letter-spacing:0;
  text-transform:none;color:#999999;margin-bottom:14px;
}
.page-template-page-frontier .p-card.featured .p-label{color:var(--accent);}

.page-template-page-frontier .p-name{
  font-size:28px;font-weight:700;letter-spacing:-0.02em;
  color:var(--text-heading);margin-bottom:8px;
}
/* Standardize p-amount across all cards — override inline styles */
.page-template-page-frontier .p-amount{
  font-size:48px !important;font-weight:700;letter-spacing:-0.04em;
  color:var(--text-heading);line-height:1 !important;margin:24px 0 6px;
  padding-top:0 !important;
}
.page-template-page-frontier .p-amount sup{font-size:22px;font-weight:500;vertical-align:top;padding-top:10px;display:inline-block;}
.page-template-page-frontier .p-amount sub{font-size:16px;font-weight:400;letter-spacing:0;}
.page-template-page-frontier .p-period{
  font-size:18px;font-weight:400;letter-spacing:0;
  color:var(--text-muted);margin-bottom:32px;line-height:1.4;
}
.page-template-page-frontier .p-divider{height:1px;background:var(--border);margin-bottom:28px;}
/* Lists stay left-aligned */
.page-template-page-frontier .p-features{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:36px;flex:1;text-align:left;}
.page-template-page-frontier .p-features li{
  font-size:16px;font-weight:400;color:var(--text);
  display:flex;gap:12px;line-height:1.5;
}
/* All bullets blue — both featured and non-featured */
.page-template-page-frontier .p-features li::before{
  content:'';
  width:8px;height:8px;min-width:8px;
  background:var(--accent);
  flex-shrink:0;
  margin-top:7px;
}
.page-template-page-frontier .p-note{
  font-size:15px;font-weight:400;color:var(--text-muted);opacity:0.5;
  margin-bottom:28px;font-style:normal;line-height:1.5;
}
.page-template-page-frontier .p-card.featured .p-note{color:#222222;opacity:0.5;}

/* ROI strip */
.page-template-page-frontier .roi-strip{max-width:1500px;margin:0 auto;padding:0 40px 80px;}
.page-template-page-frontier .roi-strip-inner{
  background:var(--bg-dark);border:1px solid var(--border);
  padding:48px;border-radius:8px;
}
.page-template-page-frontier .roi-strip-title{
  font-size:26px;font-weight:700;letter-spacing:-0.01em;
  color:var(--text-heading);margin-bottom:32px;
}
.page-template-page-frontier .roi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.page-template-page-frontier .roi-item{padding:24px;border-right:1px solid var(--border);}
.page-template-page-frontier .roi-item:last-child{border-right:none;}
.page-template-page-frontier .roi-role{
  font-size:12px;font-weight:600;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;
}
.page-template-page-frontier .roi-task{
  font-size:17px;font-weight:600;color:var(--text-heading);margin-bottom:8px;line-height:1.3;
}
.page-template-page-frontier .roi-was{font-size:14px;font-weight:400;color:var(--text-muted);margin-bottom:6px;}
.page-template-page-frontier .roi-now{font-size:14px;font-weight:600;color:var(--accent-green);}

/* ── FORMS (shared) ── */
.contact-form{display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-label{
  font-family:'Roboto',sans-serif;
  font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;
  color:rgba(255,255,255,0.5);padding-left:5px;margin-bottom:2px;
}
/* ── Form inputs (newfangled.com style: transparent bg, bottom-border only) ── */
input,select,textarea{
  background:transparent;
  border:0;
  border-bottom:2px solid rgba(255,255,255,0.4);
  border-radius:0;
  color:white;
  font-family:'Roboto',sans-serif;
  font-size:1rem;
  font-weight:400;
  padding:8px 5px 4px 5px;
  width:100%;
  transition:border-color 0.2s ease;
  margin-bottom:6px;
}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,0.35);}
input:focus,select:focus,textarea:focus{
  outline:0;
  border-bottom-color:var(--accent-green);
}
select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px top 16px;
  background-size:10px auto;
  background-color:transparent;
}
textarea{resize:vertical;min-height:101px;line-height:150%;padding-top:10px;padding-bottom:10px;}
.form-submit{
  background:var(--accent-green);color:#fff;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.125rem;font-weight:600;letter-spacing:0;text-transform:none;
  border:none;padding:0 45px;height:50px;line-height:50px;
  cursor:pointer;transition:all 150ms ease-out;margin-top:4px;
  border-radius:30px;
}
.form-submit:hover{background:var(--accent-green-hover);}
.form-note{font-size:13px;font-weight:400;color:rgba(255,255,255,0.5);line-height:1.6;}

/* ── Gravity Forms label override (match newfangled.com) ── */
.gform_wrapper .gfield_label{
  font-family:'Roboto',sans-serif;
  font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;
  color:rgba(255,255,255,0.5);padding-left:5px;margin-bottom:2px;
}
.gform_wrapper .gfield_required{color:rgba(255,255,255,0.5);margin-left:2px;}

/* ── Gravity Forms submit button (green pill, newfangled.com style) ── */
.gform_wrapper .gform_button{
  position:relative;
  background:var(--accent-green);color:#fff;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.125rem;font-weight:600;
  letter-spacing:0;text-transform:none;border:none;
  padding:0 45px;height:50px;line-height:50px;
  cursor:pointer;transition:all 150ms ease-out;
  width:auto;border-radius:30px;
}
.gform_wrapper .gform_button:hover{background:var(--accent-green-hover);}

/* ── CONTACT PAGE (SPA-scoped) ── */
.page-template-page-frontier .contact-wrap{
  max-width:1500px;margin:0 auto;padding:80px 40px;
  display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;
}
/* Contact form layout — 2-column grid matching newfangled.com */
.contact-form .gform_wrapper .gform_fields{
  display:grid;grid-template-columns:repeat(2,1fr);
  grid-column-gap:60px;grid-row-gap:20px;
}
.contact-form .gform_wrapper .gform_fields > .gfield{grid-column:1 / -1;}
.contact-form .gform_wrapper .gform_fields > .gfield.field-half{grid-column:span 1;}
@media(max-width:1240px){
  .contact-form .gform_wrapper .gform_fields{grid-template-columns:1fr;}
  .contact-form .gform_wrapper .gform_fields > .gfield.field-half{grid-column:1 / -1;}
}
.contact-form .gform_wrapper .gform_footer{text-align:left;margin-top:20px;}

.page-template-page-frontier .contact-lede h1{
  font-size:clamp(30px,5vw,56px);font-weight:700;line-height:1.1;
  letter-spacing:-0.02em;color:var(--text-heading);margin-bottom:24px;
}
.page-template-page-frontier .contact-lede h1 em{font-style:normal;color:var(--accent);}
.page-template-page-frontier .contact-lede p{
  font-size:17px;font-weight:400;line-height:1.7;color:var(--text);margin-bottom:20px;
}
@media screen and (min-width:1025px){
  .page-template-page-frontier .contact-lede p{font-size:18px;}
}
.page-template-page-frontier .contact-lede p:last-child{margin-bottom:0;}

/* ── NOTES / BLOG INDEX ── */
/* Posts page: dark background (matches homepage) */
body.blog,body.archive,body.category{background:var(--bg);}

.notes-page{max-width:1500px;margin:0 auto;padding:0 40px;}
.notes-hero{
  padding:160px 0 0;
  margin:0 0 80px;
}
.notes-hero-desc{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:18px;font-weight:400;line-height:1.7;
  color:rgba(255,255,255,0.5);max-width:700px;margin-top:16px;
}

/* Three-column layout: topics | cards | subscribe */
.notes-content-wrap{
  display:grid;
  grid-template-columns:220px 1fr 260px;
  gap:40px;
  align-items:start;
  padding-bottom:80px;
}

/* ── Post cards (newfangled.com insight-card style) ── */
.notes-main{display:flex;flex-direction:column;gap:0;}
.notes-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#FFFFFF;
  margin-bottom:40px;
  position:relative;
  overflow:hidden;
  transition:box-shadow 0.2s ease;
}
.notes-card:hover{
  box-shadow:0 8px 30px rgba(0,0,0,0.3);
}
.notes-card-inner{
  padding:28px 24px;
  position:relative;
}
@media screen and (min-width:1025px){
  .notes-card-inner{padding:39px 59px;}
}
/* Strapline — category where newfangled.com shows type */
.notes-card-strapline{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:0.8125rem;font-weight:500;
  color:rgba(34,34,34,0.4);
  margin-bottom:34px;
  background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2214%22%20height%3D%2212%22%20viewBox%3D%220%200%2014%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.66536%2010.1667H0.332031V11.8334H8.66536V10.1667ZM13.6654%203.50002H0.332031V5.16669H13.6654V3.50002ZM0.332031%208.50002H13.6654V6.83335H0.332031V8.50002ZM0.332031%200.166687V1.83335H13.6654V0.166687H0.332031Z%22%20fill%3D%22rgb(204%2C204%2C204)%22%20fill-opacity%3D%221%22%2F%3E%3C%2Fsvg%3E");
  background-size:14px auto;
  background-repeat:no-repeat;
  background-position:left center;
  padding-left:23px;
}
@media screen and (min-width:1025px){
  .notes-card-strapline{
    font-size:1.125rem;line-height:1.75rem;
    background-size:16px auto;
    padding-left:33px;margin-bottom:41px;
  }
}
.notes-card-title{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.5rem;font-weight:700;
  color:#222222;line-height:2.125rem;
  margin:0 0 20px;text-align:left;
}
@media screen and (min-width:1025px){
  .notes-card-title{
    font-size:1.875rem;line-height:2.625rem;
  }
}
.notes-card-meta{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:0.875rem;font-weight:400;
  color:rgba(34,34,34,0.5);line-height:1.4;
  margin-bottom:17px;
}
@media screen and (min-width:1025px){
  .notes-card-meta{margin-bottom:21px;}
}
.notes-card-meta strong{
  font-weight:500;color:rgba(34,34,34,0.7);
}
.notes-card-excerpt{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1rem;font-weight:400;line-height:1.375rem;
  color:#222222;margin-bottom:40px;
}
@media screen and (min-width:1025px){
  .notes-card-excerpt{
    font-size:1.25rem;line-height:1.75rem;margin-bottom:40px;
  }
}
/* CTA button — green pill matching newfangled.com card-more */
.notes-card-cta{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.125rem;font-weight:600;
  background-color:#4DC8A1;color:white;
  border-radius:30px;border:none;
  padding:0 45px;height:50px;line-height:50px;
  display:inline-block;text-decoration:none;
  transition:all 100ms ease-out;
  cursor:pointer;white-space:nowrap;
  background-repeat:no-repeat;background-size:0 0;
  background-position:left 30px top 14px;
}
.notes-card:hover .notes-card-cta{
  background-color:#2EAA83;
  text-indent:15px;padding-right:30px;
  background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2214%22%20height%3D%2212%22%20viewBox%3D%220%200%2014%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.66536%2010.1667H0.332031V11.8334H8.66536V10.1667ZM13.6654%203.50002H0.332031V5.16669H13.6654V3.50002ZM0.332031%208.50002H13.6654V6.83335H0.332031V8.50002ZM0.332031%200.166687V1.83335H13.6654V0.166687H0.332031Z%22%20fill%3D%22rgb(255%2C255%2C255)%22%2F%3E%3C%2Fsvg%3E");
  background-size:17px 17px;background-repeat:no-repeat;
  background-position:left 30px top 16px;
}

/* Pagination */
.notes-main .nav-links{
  display:flex;gap:8px;padding-top:16px;
}
.notes-main .nav-links a,
.notes-main .nav-links span{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:14px;font-weight:500;
  padding:8px 14px;border-radius:4px;
  text-decoration:none;color:var(--text-dim);
}
.notes-main .nav-links .current{
  background:var(--accent);color:#fff;
}
.notes-main .nav-links a:hover{background:rgba(255,255,255,0.08);}

.notes-empty{
  padding:40px;text-align:center;
  color:var(--text-muted);font-size:17px;
  background:#FFFFFF;
}

/* ── Sidebars ── */
.notes-sidebar{
  position:sticky;top:140px;
  padding:60px 0;
}
.notes-sidebar-section{
  margin-bottom:48px;
}
.notes-sidebar-title{
  font-family:'Roboto',sans-serif;
  font-size:20px;font-weight:400;
  color:#999999;line-height:1.4;
  margin-bottom:20px;
}
@media screen and (min-width:1025px){
  .notes-sidebar-title{font-size:20px;}
}

/* Topics list — white text on dark bg */
.notes-sidebar-topics{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:0;
}
.notes-sidebar-topics li{
  border-bottom:1px solid var(--border);
}
.notes-sidebar-topics li:first-child{
  border-top:1px solid var(--border);
}
.notes-sidebar-topics a{
  display:block;
  padding:12px 0;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1rem;font-weight:400;
  color:var(--text-dim);text-decoration:none;
  transition:color 0.15s ease;
}
.notes-sidebar-topics a:hover{color:#FFFFFF;}
.notes-sidebar-topics li.active a{color:#FFFFFF;}

/* Sidebar subscribe form — dark bg variant */
.notes-sidebar-desc{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1rem;font-weight:400;
  color:var(--text-muted);line-height:1.5rem;
  margin-bottom:32px;
}
.notes-sidebar-subscribe .gform_wrapper .gfield_label{
  color:var(--text-muted) !important;
  font-family:'Roboto',sans-serif !important;
  font-size:1rem !important;font-weight:400 !important;
  padding-left:0 !important;
}
.notes-sidebar-subscribe .gform_wrapper input[type="text"],
.notes-sidebar-subscribe .gform_wrapper input[type="email"]{
  background:transparent !important;
  border:0 !important;
  border-bottom:2px solid rgba(255,255,255,0.2) !important;
  border-radius:0 !important;
  color:#FFFFFF !important;
  font-family:'Roboto',sans-serif !important;
  font-size:1rem !important;
  padding:8px 5px 4px 5px !important;
  width:100% !important;
}
.notes-sidebar-subscribe .gform_wrapper input:focus{
  outline:0 !important;
  border-bottom-color:var(--accent-green) !important;
}
.notes-sidebar-subscribe .gform_wrapper input::placeholder{
  color:rgba(255,255,255,0.35) !important;
}
.notes-sidebar-subscribe .gform_wrapper .gform_footer{
  text-align:left;margin-top:24px;padding:0;
}
.notes-sidebar-subscribe .gform_wrapper .gform_footer input.button,
.notes-sidebar-subscribe .gform_wrapper .gform_button{
  font-family:'IBM Plex Sans',sans-serif !important;
  font-size:1.125rem !important;font-weight:600 !important;
  background-color:transparent !important;
  color:#FFFFFF !important;
  border-radius:30px !important;
  border:2px solid rgba(255,255,255,0.25) !important;
  padding:0 45px !important;height:50px !important;
  cursor:pointer;transition:all 100ms ease-out !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  line-height:1 !important;
  background-repeat:no-repeat !important;background-size:0 0 !important;
  background-position:left 30px center !important;
}
.notes-sidebar-subscribe .gform_wrapper .gform_footer input.button:hover,
.notes-sidebar-subscribe .gform_wrapper .gform_button:hover{
  background-color:var(--accent-green) !important;color:#FFFFFF !important;
  border-color:var(--accent-green) !important;
  text-indent:15px;padding-right:30px !important;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTYxMy0xMTggNDgxLTI0OWwxNi0xNiAxMTYgMTE1IDIzMy0yMzQgMTYgMTYtMjQ5IDI1MFpNNDc5LTUyMmwzMDktMjA0SDE3MWwzMDggMjA0Wm0wIDI4TDE1NC03MTF2NDQxcTAgMTQgOSAyM3QyMyA5aDIwMmwyMiAyMkgxODZxLTIyLjc3IDAtMzguMzktMTUuNjFRMTMyLTI0Ny4yMyAxMzItMjcwdi00MjRxMC0yMi43OCAxNS42MS0zOC4zOVExNjMuMjMtNzQ4IDE4Ni03NDhoNTg3cTIyLjc4IDAgMzguMzkgMTUuNjFUODI3LTY5NHYyMjVsLTIyIDIydi0yNjRMNDc5LTQ5NFptMSAyMFptLTEtNDhabTEgMjhaIi8+PC9zdmc+") !important;
  background-size:21px 21px !important;background-repeat:no-repeat !important;
  background-position:left 30px center !important;
  border-bottom:none !important;
}

/* ── Notes page responsive ── */
@media(max-width:1240px){
  .notes-content-wrap{grid-template-columns:1fr;gap:24px;}
  .notes-sidebar{position:static;padding:0;}
  .notes-sidebar-left{
    order:-1;
    display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;align-items:center;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .notes-sidebar-left::-webkit-scrollbar{display:none;}
  .notes-sidebar-left .notes-sidebar-section{margin-bottom:0;display:contents;}
  .notes-sidebar-left .notes-sidebar-title{margin-bottom:0;margin-right:8px;white-space:nowrap;flex-shrink:0;}
  .notes-sidebar-left .notes-sidebar-topics{flex-direction:row;flex-wrap:nowrap;gap:8px;}
  .notes-sidebar-left .notes-sidebar-topics li{border:none;flex-shrink:0;}
  .notes-sidebar-left .notes-sidebar-topics a{
    padding:6px 16px;border:1px solid var(--border);border-radius:20px;font-size:14px;white-space:nowrap;
  }
  .notes-sidebar-left .notes-sidebar-topics a:hover{
    border-color:#FFFFFF;color:#FFFFFF;
  }
  .notes-sidebar-left .notes-sidebar-topics li.active a{
    border-color:#FFFFFF;color:#FFFFFF;background:rgba(255,255,255,0.1);
  }
  .notes-main{order:1;}
  .notes-sidebar-right{display:none;}
}
@media(max-width:600px){
  .notes-page{padding:0 20px;}
  .notes-hero{padding-top:120px;}
  .notes-sidebar{display:none;}
  .notes-card-title{font-size:1.25rem;line-height:1.75rem;}
  .notes-card-inner{padding:24px 20px;}
}

/* Single article view */
/* Article page: light background */
body.single-post{background:#fafafa;}

.note-article{max-width:1500px;margin:0 auto;padding:160px 40px 80px;}
.note-article-back{
  display:inline-block;
  font-size:0;
  line-height:50px;
  height:50px;
  color:rgba(34,34,34,0.4);
  background:transparent;
  border-radius:30px;
  border:none;
  cursor:pointer;
  text-decoration:none;
  padding:0 34px 0 0;
  margin-bottom:60px;
  margin-left:-40px;
  position:relative;
  transition:background 0.15s ease, color 0.15s ease;
}
.note-article-back::before{
  content:'';
  position:absolute;
  left:19px;top:50%;
  width:5px;height:10px;
  margin-top:-5px;
  background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%225%22%20height%3D%2210%22%20viewBox%3D%220%200%205%2010%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%200L0%205L5%2010V0Z%22%20fill%3D%22rgb(170%2C170%2C170)%22%2F%3E%3C%2Fsvg%3E");
  background-size:contain;
  background-repeat:no-repeat;
  transition:opacity 0.15s ease;
}
.note-article-back::after{
  content:'All Notes';
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.125rem;
  font-weight:400;
  color:rgba(34,34,34,0.4);
  margin-left:37px;
  transition:color 0.15s ease;
}
.note-article-back:hover{
  background:#1A99D4;
  color:#FFFFFF;
}
.note-article-back:hover::before{
  background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%225%22%20height%3D%2210%22%20viewBox%3D%220%200%205%2010%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%200L0%205L5%2010V0Z%22%20fill%3D%22rgb(255%2C255%2C255)%22%2F%3E%3C%2Fsvg%3E");
  opacity:1;
}
.note-article-back:hover::after{
  color:#FFFFFF;
}

/* Hide the duplicate back link and CTA in the article footer */
.note-article-footer{
  display:none;
}

/* ── Article two-column layout: content + right sidebar ── */
.note-article-content-wrap{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:60px;
  align-items:start;
}
.note-article-sidebar-right{
  position:sticky;
  top:140px;
  padding-top:40px;
}

/* ── Sidebar subscribe form (matching newfangled.com sidebar style) ── */
.note-article-sidebar-form-title{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.375rem;
  font-weight:700;
  color:#222222;
  line-height:1.75rem;
  text-align:left;
  margin-bottom:24px;
}
.note-article-sidebar-form-desc{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:1.125rem;
  font-weight:400;
  color:rgba(34,34,34,0.5);
  line-height:1.5rem;
  text-align:left;
  margin-bottom:41px;
}
.note-article-sidebar-form .gform_wrapper .gfield_label{
  color:rgba(34,34,34,0.5) !important;
  padding-left:0 !important;
  font-family:'Roboto',sans-serif !important;
  font-size:1rem !important;
  font-weight:400 !important;
}
.note-article-sidebar-form .gform_wrapper .gfield_required{
  color:rgba(34,34,34,0.5) !important;
}
.note-article-sidebar-form .gform_wrapper input[type="text"],
.note-article-sidebar-form .gform_wrapper input[type="email"],
.note-article-sidebar-form .gform_wrapper input[type="url"],
.note-article-sidebar-form .gform_wrapper textarea{
  background:transparent !important;
  border:0 !important;
  border-bottom:2px solid rgba(34,34,34,0.2) !important;
  border-radius:0 !important;
  color:#222222 !important;
  font-family:'Roboto',sans-serif !important;
  font-size:1rem !important;
  font-weight:400 !important;
  padding:8px 5px 4px 5px !important;
  width:100% !important;
  margin-bottom:6px !important;
}
.note-article-sidebar-form .gform_wrapper input:focus{
  outline:0 !important;
  border-bottom-color:var(--accent-green) !important;
}
.note-article-sidebar-form .gform_wrapper input::placeholder{
  color:rgba(34,34,34,0.35) !important;
}
.note-article-sidebar-form .gform_wrapper .gform_footer{
  text-align:left;
  margin-top:24px;
  padding:0;
}
.note-article-sidebar-form .gform_wrapper .gform_footer input.button,
.note-article-sidebar-form .gform_wrapper .gform_button{
  font-family:'IBM Plex Sans',sans-serif !important;
  font-size:1.125rem !important;
  font-weight:600 !important;
  background-color:#4DC8A1 !important;
  color:#FFFFFF !important;
  border-radius:30px !important;
  border:none !important;
  padding:0 45px !important;
  height:50px !important;
  cursor:pointer;
  transition:all 100ms ease-out !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  line-height:1 !important;
  background-repeat:no-repeat !important;
  background-size:0 0 !important;
  background-position:left 30px center !important;
}
.note-article-sidebar-form .gform_wrapper .gform_footer input.button:hover,
.note-article-sidebar-form .gform_wrapper .gform_button:hover{
  background-color:#2EAA83 !important;
  color:#FFFFFF !important;
  text-indent:15px;
  padding-right:30px !important;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTYxMy0xMTggNDgxLTI0OWwxNi0xNiAxMTYgMTE1IDIzMy0yMzQgMTYgMTYtMjQ5IDI1MFpNNDc5LTUyMmwzMDktMjA0SDE3MWwzMDggMjA0Wm0wIDI4TDE1NC03MTF2NDQxcTAgMTQgOSAyM3QyMyA5aDIwMmwyMiAyMkgxODZxLTIyLjc3IDAtMzguMzktMTUuNjFRMTMyLTI0Ny4yMyAxMzItMjcwdi00MjRxMC0yMi43OCAxNS42MS0zOC4zOVExNjMuMjMtNzQ4IDE4Ni03NDhoNTg3cTIyLjc4IDAgMzguMzkgMTUuNjFUODI3LTY5NHYyMjVsLTIyIDIydi0yNjRMNDc5LTQ5NFptMSAyMFptLTEtNDhabTEgMjhaIi8+PC9zdmc+") !important;
  background-size:21px 21px !important;
  background-repeat:no-repeat !important;
  background-position:left 30px center !important;
  border-bottom:none !important;
}

/* Responsive: collapse to single column */
@media(max-width:1240px){
  .note-article-content-wrap{
    grid-template-columns:1fr;
    gap:40px;
  }
  .note-article-sidebar-right{
    position:static;
    padding-top:0;
    max-width:400px;
  }
}
@media(max-width:600px){
  .note-article-sidebar-right{
    display:none;
  }
  .note-article-back{
    margin-left:0;
    padding-left:20px;
  }
}

/* Single column — no sidebar, no borders */
.note-article-grid{
  display:block;
  border:none;border-radius:0;overflow:visible;
}
.note-article-sidebar{
  padding:0;border:none;background:transparent;
  margin-bottom:40px;
}
/* Hide format indicators (Read/Listen/Watch) in sidebar */
.note-article-sidebar .note-card-formats{display:none;}

/* Note number — hidden */
.note-article-sidebar-number{
  display:none;
}
/* Title — matches section-title */
.note-article-sidebar-title{
  font-size:clamp(30px,4vw,64px);font-weight:700;letter-spacing:-0.02em;
  color:#222222;line-height:1.1;margin-bottom:16px;
}
/* Meta — hidden (replaced by dynamic byline) */
.note-article-sidebar-meta{
  display:none;
}

/* Author byline — avatar + text */
.note-article-byline{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:24px;
}
.note-article-avatar{
  width:70px !important;
  height:70px !important;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
}
.note-article-byline-text{
  font-family:'Roboto',sans-serif;
  font-size:18px;
  font-weight:400;
  color:#999999;
  line-height:1.4;
}
.note-article-byline-text strong{
  font-weight:400;
  color:#999999;
}

/* Article body — dark text on light bg */
.note-article-body{padding:40px 0;}
.note-article-body-content{font-size:17px;font-weight:400;line-height:1.9;color:#222222;max-width:800px;}
@media screen and (min-width:1025px){
  .note-article-body-content{font-size:20px;line-height:1.8;}
}
.note-article-body-content > *:first-child{margin-top:0;}
.note-article-body-content > *:last-child{margin-bottom:0;}
.note-article-body-content p{margin-bottom:1.4em;}
.note-article-body-content strong{font-weight:700;color:#222222;}
.note-article-body-content em{font-style:italic;color:#444444;}
.note-article-body-content h2{font-size:28px;font-weight:700;color:#222222;margin:2em 0 0.6em;}
@media screen and (min-width:1025px){
  .note-article-body-content h2{font-size:34px;}
}
.note-article-body-content h3{font-size:22px;font-weight:600;color:#222222;margin:1.8em 0 0.5em;}
@media screen and (min-width:1025px){
  .note-article-body-content h3{font-size:28px;}
}
.note-article-body-content a{
  color:#222222;
  text-decoration:none;
  border-bottom:1px solid rgba(34,34,34,0.3);
  transition:background 0.15s ease;
}
.note-article-body-content a:hover{
  background:rgba(26,153,212,0.15);
}
.note-article-body-content blockquote{
  border-left:3px solid var(--accent);padding:8px 0 8px 24px;
  margin:1.6em 0;color:#444444;font-style:italic;font-weight:300;
}
.note-article-body-content ul,.note-article-body-content ol{margin:0 0 1.6em 1.4em;padding:0;}
.note-article-body-content li{margin-bottom:0.6em;color:#222222;}

/* ── GRAVITY FORMS ── */
.gform_wrapper{display:block;}
.gform_wrapper form{margin:0;}
.gform_wrapper .gform_body,.gform_wrapper .gform-body{display:block;}
.gform_wrapper .gform_fields{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;margin:0;}
.gform_wrapper .gfield{display:flex;flex-direction:column;gap:6px;margin:0;}
/* Contact form: 2-column grid */
.contact-form .gform_wrapper .gform_fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.contact-form .gform_wrapper .gform_fields > .gfield{grid-column:1 / -1;}
.contact-form .gform_wrapper .gform_fields > .gfield.field-half{grid-column:span 1;}
@media(max-width:1240px){
  .contact-form .gform_wrapper .gform_fields{grid-template-columns:1fr;}
  .contact-form .gform_wrapper .gform_fields > .gfield.field-half{grid-column:1 / -1;}
}
.gform_wrapper .gfield_label{
  font-family:'Roboto',sans-serif;font-size:1rem;font-weight:400;
  letter-spacing:0;text-transform:none;color:rgba(255,255,255,0.5);
  padding-left:5px;margin-bottom:2px;
}
.gform_wrapper .gfield_required{color:var(--accent);margin-left:4px;}
.gform_wrapper .gfield_required_text{display:none;}
.gform_wrapper .ginput_container{display:block;}
.gform_wrapper .gfield_description,.gform_wrapper .gform_description{
  font-size:13px;font-weight:400;color:var(--text-muted);line-height:1.6;margin-top:2px;
}
.gform_wrapper .gform_heading{display:none;}
.gform_wrapper .gform_footer,.gform_wrapper .gform_page_footer{display:block;padding:0;margin:14px 0 0;}
.gform_wrapper .gform_button{
  position:relative;background:var(--accent-green);color:#fff;
  font-family:'IBM Plex Sans',sans-serif;font-size:1.125rem;font-weight:600;
  letter-spacing:0;text-transform:none;border:none;
  padding:0 45px;height:50px;line-height:50px;
  cursor:pointer;transition:all 150ms ease-out;
  width:auto;border-radius:30px;
}
.gform_wrapper .gform_button:hover{background:var(--accent-green-hover);}
.gform_wrapper .gform_button:disabled{opacity:0.6;cursor:wait;}
.gform_wrapper .gform_button.is-submitting{
  color:transparent !important;
  pointer-events:none;
  opacity:0.5;
  transition:opacity 0.2s;
}
/* Adaptive submit spinner. The overlay is injected by the submit
   listener in footer.php as a real DOM element, sized and positioned
   with getBoundingClientRect() so it sits exactly over whatever
   submit button was just clicked — works for every button shape,
   size, and context site-wide without per-context rules.
   (::after on the button itself doesn't work because GF renders the
   submit as <input type="submit">, which is a replaced element and
   doesn't support pseudo-elements.) */
.nf-btn-spinner{
  position:fixed;display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:999999;
}
.nf-btn-spinner::before{
  content:'';display:block;width:22px;height:22px;
  border:2px solid currentColor;border-top-color:transparent;
  border-radius:50%;animation:nf-btn-spin 0.7s linear infinite;
  opacity:0.9;
}
@keyframes nf-btn-spin{to{transform:rotate(360deg);}}
.gform_confirmation_wrapper,.gform_confirmation_message{
  font-size:15px;font-weight:400;color:var(--accent-green);padding:12px 0;
  font-family:'IBM Plex Mono',monospace;
}

/* Inline validation */
.gform_wrapper .validation_message,.gform_wrapper .gfield_validation_message{font-size:13px;font-weight:400;color:var(--red);margin-top:4px;}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error select,.gform_wrapper .gfield_error textarea{border-color:var(--red);}
.gform_wrapper .gform_validation_errors{
  border:0;background:none;padding:0;border-radius:0;
  margin-bottom:16px;font-size:14px;color:var(--red);
}
.gform_wrapper .gform_validation_errors h2,.gform_wrapper .gform_validation_errors ol,
.gform_wrapper .gform_validation_errors a{color:var(--red);font-size:14px;margin:0;padding-left:0;text-decoration:none;}
.gform_wrapper .gform_validation_errors .gform-icon{display:none !important;}
.gform_ajax_spinner{display:none!important;}

/* Notes page signup */
.notes-signup .gform_wrapper .gform_button{
  width:100%;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.06em;
  padding:14px 24px;height:auto;line-height:1.4;
}
.notes-signup .gform_wrapper .gfield_label{display:none;}

/* ── FOOTER ── */
footer{background:#50246C;border-top:none;padding:48px 0;margin-top:60px;}
.footer-inner{
  max-width:1500px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:16px;position:relative;
}
.footer-brand{display:flex;align-items:center;gap:10px;}
.footer-brand img{width:100px;display:block;}
.footer-frontier{
  font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:#FFFFFF;
  background:transparent;
  border:2px solid rgba(255,255,255,0.5);
  padding:4px 10px;
  border-radius:2px;
}
.footer-copy{
  font-family:'Roboto',sans-serif;
  font-size:0.9rem;
  font-weight:400;
  line-height:1.4;
  color:rgba(255,255,255,0.5);
  position:static;
  transform:none;
  white-space:nowrap;
  margin-left:24px;
}
.footer-links{display:flex;gap:20px;}
.footer-links a{
  font-family:'Roboto',sans-serif;
  font-size:1.25rem;font-weight:400;line-height:1.875rem;
  letter-spacing:0;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.15s ease;
}
.footer-links a:hover{color:#FFFFFF;}

/* ── Footer subscribe form ── */
.footer-inner > div:last-child,.footer-newsletter{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
.footer-inner > div:last-child > span{
  font-family:'Roboto',sans-serif !important;
  font-size:0.875rem !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:rgba(255,255,255,0.5) !important;
  white-space:nowrap;
}
.footer-email-input{
  background:transparent !important;
  border:none !important;
  border-bottom:2px solid rgba(255,255,255,0.4) !important;
  border-radius:0 !important;
  color:#FFFFFF !important;
  font-family:'Roboto',sans-serif !important;
  font-size:0.875rem !important;
  font-weight:400 !important;
  padding:8px 0 !important;
  width:200px !important;
  outline:none !important;
  transition:border-color 0.2s ease !important;
}
.footer-email-input:focus{
  border-bottom-color:#FFFFFF !important;
}
.footer-email-input::placeholder{
  color:rgba(255,255,255,0.5) !important;
}
/* Footer subscribe button — Gravity Form inside .footer-newsletter */
.footer-newsletter .gform_wrapper .gfield_label{
  color:rgba(255,255,255,0.5) !important;
  font-family:'Roboto',sans-serif !important;
  font-size:1rem !important;font-weight:400 !important;
}
.footer-newsletter .gform_wrapper input[type="email"],
.footer-newsletter .gform_wrapper input[type="text"]{
  background:transparent !important;
  border:0 !important;
  border-bottom:2px solid rgba(255,255,255,0.4) !important;
  border-radius:0 !important;
  color:#FFFFFF !important;
  font-family:'Roboto',sans-serif !important;
  font-size:1rem !important;
  padding:8px 5px 4px 5px !important;
  width:100% !important;
}
.footer-newsletter .gform_wrapper input:focus{
  outline:0 !important;
  border-bottom-color:#FFFFFF !important;
}
.footer-newsletter .gform_wrapper input::placeholder{
  color:rgba(255,255,255,0.5) !important;
}
/* Error state — red underline on validation failure. The base
   footer-newsletter rule above forces a white border-bottom with
   !important, and the :focus rule forces it back to white on focus,
   so this override needs higher specificity (+ .gfield_error) AND
   !important to win against both. Red stays even when the user
   clicks into the field after a failed submit. */
.footer-newsletter .gform_wrapper .gfield_error input[type="email"],
.footer-newsletter .gform_wrapper .gfield_error input[type="text"]{
  border-bottom-color:var(--red) !important;
}
.footer-newsletter .gform_wrapper .gform_footer{
  text-align:left;margin-top:16px;padding:0;
}
.footer-newsletter .gform_wrapper .gform_button,
.footer-newsletter .gform_wrapper .gform_footer input.button,
.footer-newsletter #gform_submit_button_1{
  background:transparent !important;
  background-color:transparent !important;
  border:2px solid rgba(255,255,255,0.5) !important;
  border-radius:30px !important;
  color:rgba(255,255,255,0.5) !important;
  font-family:'IBM Plex Sans',sans-serif !important;
  font-size:1.125rem !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  padding:0 45px !important;
  height:50px !important;
  cursor:pointer !important;
  transition:all 100ms ease-out !important;
  white-space:nowrap;
  overflow:hidden;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  line-height:1 !important;
  background-repeat:no-repeat !important;
  background-size:0 0 !important;
  background-position:left 30px center !important;
}
.footer-newsletter .gform_wrapper .gform_button:hover,
.footer-newsletter .gform_wrapper .gform_footer input.button:hover,
.footer-newsletter #gform_submit_button_1:hover{
  background:#381251 !important;
  background-color:#381251 !important;
  color:#FFFFFF !important;
  border-color:#381251 !important;
  text-indent:15px;
  padding-right:30px !important;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTYxMy0xMTggNDgxLTI0OWwxNi0xNiAxMTYgMTE1IDIzMy0yMzQgMTYgMTYtMjQ5IDI1MFpNNDc5LTUyMmwzMDktMjA0SDE3MWwzMDggMjA0Wm0wIDI4TDE1NC03MTF2NDQxcTAgMTQgOSAyM3QyMyA5aDIwMmwyMiAyMkgxODZxLTIyLjc3IDAtMzguMzktMTUuNjFRMTMyLTI0Ny4yMyAxMzItMjcwdi00MjRxMC0yMi43OCAxNS42MS0zOC4zOVExNjMuMjMtNzQ4IDE4Ni03NDhoNTg3cTIyLjc4IDAgMzguMzkgMTUuNjFUODI3LTY5NHYyMjVsLTIyIDIydi0yNjRMNDc5LTQ5NFptMSAyMFptLTEtNDhabTEgMjhaIi8+PC9zdmc+") !important;
  background-size:21px 21px !important;
  background-repeat:no-repeat !important;
  background-position:left 30px center !important;
}

/* ── RESPONSIVE ── */
@media(max-width:1240px){
  .container{padding-left:20px;padding-right:20px;}
  footer{padding:28px 0;}
  .footer-inner{padding:0 20px;}
  .form-row{grid-template-columns:1fr;}

  /* SPA sections */
  .page-template-page-frontier .home-hero,
  .page-template-page-frontier .services-hero,
  .page-template-page-frontier .tools-hero,
  .page-template-page-frontier .audit-hero,
  .page-template-page-frontier .pricing-hero{padding-left:20px;padding-right:20px;}
  .page-template-page-frontier .audit-body,
  .page-template-page-frontier .roi-strip,
  .page-template-page-frontier .contact-wrap,
  .page-template-page-frontier .pricing-cards,
  .page-template-page-frontier .tools-note{padding-left:20px;padding-right:20px;}
  .page-template-page-frontier .home-split{grid-template-columns:1fr;}
  .page-template-page-frontier .home-split-panel:first-child{border-right:none;border-bottom:1px solid var(--border);}
  .page-template-page-frontier .home-split-panel{padding:40px 20px;}
  .page-template-page-frontier .services-grid{grid-template-columns:1fr;padding:0 20px;}
  .page-template-page-frontier .svc-card{margin:12px 0;}
  .page-template-page-frontier .tools-grid{grid-template-columns:1fr 1fr;}
  .page-template-page-frontier .audit-split{grid-template-columns:1fr;gap:40px;}
  .page-template-page-frontier .audit-visual{position:static;}
  .page-template-page-frontier .pricing-cards{grid-template-columns:1fr;gap:16px;}
  .page-template-page-frontier .p-card{margin:12px 0;}
  .page-template-page-frontier .roi-grid{grid-template-columns:1fr;}
  .page-template-page-frontier .roi-item{border-right:none;border-bottom:1px solid var(--border);}
  .page-template-page-frontier .roi-item:last-child{border-bottom:none;}
  .page-template-page-frontier .contact-wrap{grid-template-columns:1fr;gap:48px;}

  /* SPA page system */
  .page-template-page-frontier div.page{
    padding-top:96px;
    min-height:calc(100vh - 96px);
  }

  /* Notes / blog */
  .notes-page{padding:0 20px;}
  .note-article{padding-left:20px;padding-right:20px;padding-top:120px;}
  .note-article-body{padding:32px 0;}

  /* Footer */
  .footer-inner{flex-direction:column;align-items:center;gap:16px;padding:0 40px;text-align:center;}
  .footer-brand{order:1;justify-content:center;}
  .footer-copy{position:static;transform:none;white-space:normal;order:2;margin-left:0;text-align:center;}
  .footer-links{order:3;justify-content:center;}
  .footer-inner > div:last-child,.footer-newsletter{order:4;width:100%;flex-direction:column;align-items:center;}
  .footer-inner > div:last-child > div,.footer-newsletter > div{flex-wrap:wrap;gap:8px;}
  .footer-inner > div:last-child input,.footer-newsletter input{width:100%;min-width:0;}
  .footer-newsletter .gform_wrapper .gform_button,
  .footer-newsletter #gform_submit_button_1{
    background:transparent !important;
    border:2px solid rgba(255,255,255,0.5) !important;
    color:rgba(255,255,255,0.5) !important;
    border-radius:30px !important;
    padding:0 45px !important;
    height:50px !important;
  }
  .footer-newsletter .gform_wrapper .gform_button:hover,
  .footer-newsletter #gform_submit_button_1:hover{
    background:#381251 !important;
    color:#FFFFFF !important;
    border-color:#381251 !important;
  }

  /* Frontier Notes index — collapse card to single column */
  #notes-index [style*="grid-template-columns:280px"]{display:flex;flex-direction:column;}
  #notes-index [style*="grid-template-columns:1fr 1fr"]{display:flex;flex-direction:column;}
  #notes-index [style*="border-right:1px solid var(--border)"]{border-right:none;border-bottom:1px solid var(--border);}

  /* Frontier Notes article view — collapse to single column */
  #note-01 [style*="grid-template-columns:280px"]{display:flex;flex-direction:column;}
  #note-01 [style*="padding:56px 64px"]{padding:32px 24px;}
  #note-01 [style*="padding:48px"]{padding:28px 20px;}
  #note-01 [style*="border-right:1px solid var(--border)"]{border-right:none;border-bottom:1px solid var(--border);}

  /* Generic inline grid overrides */
  [style*="grid-template-columns:1fr 2fr"]{display:flex!important;flex-direction:column;}
  [style*="grid-template-columns:2fr 1fr"]{display:flex!important;flex-direction:column;}
  [style*="grid-template-columns:1fr 1fr"]{display:flex!important;flex-direction:column;}
  [style*="max-width:1400px"]{padding-left:20px;padding-right:20px;}
  [style*="max-width:1500px"]{padding-left:20px;padding-right:20px;}
}

@media(max-width:600px){
  .section-title{font-size:32px;}
  .nav-brand img{width:139px;}
  .page-template-page-frontier .home-hero{padding-top:60px;}

  /* 60px spacing between page content and footer area */
  footer{padding:0 0 120px;margin-top:60px;}

  .footer-inner{
    padding:0;flex-direction:column;align-items:center;text-align:center;gap:0;
  }

  /* Subscribe form: pulled above footer as full-bleed blue box */
  .footer-inner > div:last-child,.footer-newsletter{
    order:-1 !important;
    flex-direction:column !important;
    align-items:center !important;
    margin-left:0 !important;
    width:100% !important;
    background:#1A99D4 !important;
    padding:40px 40px !important;
    gap:16px !important;
    text-align:center !important;
  }
  /* Label — centered */
  .footer-inner > div:last-child > span,.footer-newsletter .gform_title{
    color:#FFFFFF !important;
    font-family:'IBM Plex Sans',sans-serif !important;
    font-size:18px !important;
    font-weight:700 !important;
    margin-bottom:4px;
    text-align:center !important;
    width:100% !important;
  }
  /* Email field — full width, left-aligned under headline */
  .footer-inner > div:last-child input,.footer-newsletter input[type="email"]{
    width:100% !important;
    min-width:0;
    border-bottom-color:rgba(255,255,255,0.4) !important;
  }
  .footer-newsletter .gform_wrapper .gform_footer{
    text-align:center !important;
    display:inline-block !important;
    margin-top:0 !important;
    padding:0 !important;
  }
  .footer-newsletter .gform_wrapper .gform-body{
    display:inline-block !important;
  }
  .footer-newsletter .gform_wrapper form{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:flex-end !important;
    gap:12px !important;
  }
  .footer-newsletter .gform_wrapper input[type="email"]{
    width:auto !important;
    min-width:180px !important;
  }
  /* Button — stacked under field, site-wide size, icon reveal */
  .footer-newsletter .gform_wrapper .gform_button,
  .footer-newsletter #gform_submit_button_1{
    background:transparent !important;
    border:2px solid #FFFFFF !important;
    border-radius:30px !important;
    color:#FFFFFF !important;
    font-family:'IBM Plex Sans',sans-serif !important;
    font-size:1.125rem !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    padding:0 45px !important;
    height:50px !important;
    flex-shrink:0;
    overflow:hidden;
    transition:all 100ms ease-out !important;
    background-repeat:no-repeat !important;
    background-size:0 0 !important;
    background-position:left 30px center !important;
  }
  .footer-newsletter .gform_wrapper .gform_button:hover,
  .footer-newsletter #gform_submit_button_1:hover{
    background:#1880B0 !important;
    color:#FFFFFF !important;
    border-color:#1880B0 !important;
    text-indent:15px;
    padding-right:30px !important;
    background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTYxMy0xMTggNDgxLTI0OWwxNi0xNiAxMTYgMTE1IDIzMy0yMzQgMTYgMTYtMjQ5IDI1MFpNNDc5LTUyMmwzMDktMjA0SDE3MWwzMDggMjA0Wm0wIDI4TDE1NC03MTF2NDQxcTAgMTQgOSAyM3QyMyA5aDIwMmwyMiAyMkgxODZxLTIyLjc3IDAtMzguMzktMTUuNjFRMTMyLTI0Ny4yMyAxMzItMjcwdi00MjRxMC0yMi43OCAxNS42MS0zOC4zOVExNjMuMjMtNzQ4IDE4Ni03NDhoNTg3cTIyLjc4IDAgMzguMzkgMTUuNjFUODI3LTY5NHYyMjVsLTIyIDIydi0yNjRMNDc5LTQ5NFptMSAyMFptLTEtNDhabTEgMjhaIi8+PC9zdmc+") !important;
    background-size:21px 21px !important;
    background-repeat:no-repeat !important;
    background-position:left 30px center !important;
  }

  /* Purple footer content below the blue form */
  .footer-brand{justify-content:center;order:1;padding-top:40px;}
  .footer-copy{margin-left:0;text-align:center;white-space:normal;order:2;padding:8px 20px 0;}
  .footer-links{justify-content:center;flex-wrap:wrap;order:3;padding:8px 20px 40px;}

  /* SPA sections */
  .page-template-page-frontier .tools-grid{grid-template-columns:1fr;}
  .page-template-page-frontier .tool-card{margin:12px 0;}
  .page-template-page-frontier .svc-card{margin:12px 0;padding:40px 32px;}
  .page-template-page-frontier .svc-cta{flex-direction:column;align-items:flex-start;gap:16px;}
  .page-template-page-frontier .hero-title{font-size:40px;}
}

/* ═══════════════════════ DEMO MODAL OVERLAY ═══════════════════════
   Wraps the demo-*.html iframes in a framed modal so visitors see a
   clear "Frontier is presenting a demo tool" hierarchy instead of a
   jarring new tab. The demo HTML files keep their own cyan-accented
   dark-mode design language; the overlay chrome here uses the site's
   green accent to differentiate the wrapper from the wrapped content.

   Layer stack (top → bottom):
     1. thin green top border (main site accent, not used by demos)
     2. overlay header bar with "DEMO" green chip + title + close ×
     3. demo's own fake-mac titlebar (inside the iframe, untouched)
     4. demo content
*/
/* Base state is visually hidden but stays in the DOM so transitions
   fire on BOTH open (class added) and close (class removed). Using
   visibility + opacity rather than display:none because display can't
   be transitioned — swapping display hides the element instantly,
   killing the slide-out animation. The visibility transition-delay
   holds the element interactive (and painted) for 0.22s while the
   opacity/transform run, then flips to hidden. */
.demo-overlay{
  display:flex;
  visibility:hidden;
  opacity:0;
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,0,0,0.78);
  align-items:center;
  justify-content:center;
  padding:32px;
  transition:opacity 0.22s ease-out, visibility 0s linear 0.22s;
}
.demo-overlay.is-open{
  visibility:visible;
  opacity:1;
  transition:opacity 0.22s ease-out, visibility 0s linear 0s;
}
.demo-overlay-panel{
  position:relative;
  width:100%;
  max-width:1000px;
  height:100%;
  max-height:720px;
  background:#1a1a1a;
  border-top:2px solid var(--accent-green);
  box-shadow:0 24px 80px rgba(0,0,0,0.6);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transform:translateY(18px);
  opacity:0;
  transition:transform 0.28s cubic-bezier(0.2,0.9,0.3,1), opacity 0.22s ease-out;
}
.demo-overlay.is-open .demo-overlay-panel{
  transform:translateY(0);
  opacity:1;
}
.demo-overlay-header{
  flex-shrink:0;
  height:52px;
  padding:0 12px 0 20px;
  display:flex;
  align-items:center;
  gap:16px;
  background:#111;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.demo-overlay-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent-green);
  border:1px solid var(--accent-green);
  padding:4px 9px;
  flex-shrink:0;
}
.demo-overlay-title{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:14px;
  font-weight:400;
  color:#fff;
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.demo-overlay-close{
  background:none;
  border:0;
  color:#888;
  font-size:28px;
  line-height:1;
  width:44px;
  height:44px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  flex-shrink:0;
  transition:color 0.15s;
}
.demo-overlay-close:hover,
.demo-overlay-close:focus{color:var(--accent-green);outline:0;}
.demo-overlay-iframe{
  flex:1;
  width:100%;
  border:0;
  display:block;
  background:#1a1a1a;
  -webkit-overflow-scrolling:touch;
}
/* Lock body scroll while the overlay is open */
body.demo-overlay-open{overflow:hidden;}

/* Mobile: full-screen edge-to-edge, bigger slide-from-bottom. The
   longer transition (0.34s) + deeper starting transform (100%) makes
   the open/close transition legible to the user — without this the
   phone just flashes to a full-screen page with no perceptual cue
   that it's a modal overlay vs a navigation. */
@media (max-width:768px){
  .demo-overlay{padding:0;transition:opacity 0.26s ease-out, visibility 0s linear 0.26s;}
  .demo-overlay.is-open{transition:opacity 0.26s ease-out, visibility 0s linear 0s;}
  .demo-overlay-panel{
    max-width:100%;
    max-height:100dvh;
    height:100dvh;
    border-top-width:1px;
    padding-top:env(safe-area-inset-top);
    padding-bottom:env(safe-area-inset-bottom);
    transform:translateY(100%);
    opacity:1;
    transition:transform 0.34s cubic-bezier(0.2,0.9,0.3,1);
  }
  .demo-overlay.is-open .demo-overlay-panel{
    transform:translateY(0);
  }
  .demo-overlay-header{
    height:56px;
    padding:0 8px 0 18px;
    gap:14px;
  }
  .demo-overlay-label{font-size:11px;padding:4px 10px;}
  .demo-overlay-title{font-size:14px;}
  .demo-overlay-close{font-size:32px;width:48px;height:48px;color:#bbb;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}
}
