/*
Theme Name: Best Ager Journal
Theme URI: https://thebestager.com/blog/
Author: Best Ager Consulting
Description: A bespoke editorial WordPress theme for the Best Ager Consulting blog.
Version: 1.2.7
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: best-ager-journal
*/

:root{
  --ink:#11293b;
  --ink-2:#183b55;
  --paper:#f5efe4;
  --paper-2:#efe3d0;
  --cream:#fbf7ef;
  --gold:#a57d37;
  --gold-2:#d6bd86;
  --muted:#746f66;
  --line:rgba(17,41,59,.12);
  --shadow:0 28px 90px rgba(17,41,59,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 14% 12%,rgba(214,189,134,.16),transparent 25%),
    radial-gradient(circle at 84% 10%,rgba(17,41,59,.08),transparent 28%),
    linear-gradient(180deg,var(--cream) 0%,var(--paper) 52%,#efe4d2 100%);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.6;
  min-height:100vh;
  padding-bottom:92px;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(17,41,59,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,41,59,.022) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(#000,transparent 78%);
}
body.admin-bar .ba-header{top:32px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
[data-lang="de"]{display:none}
body.ba-lang-de [data-lang="en"]{display:none}
body.ba-lang-de [data-lang="de"]{display:inline}
.ba-container{width:min(1180px,calc(100% - 44px));margin:0 auto}
.ba-serif{font-family:Fraunces,Georgia,serif}

.ba-header{
  position:sticky;
  top:0;
  z-index:50;
  padding:20px 0 12px;
  background:linear-gradient(180deg,rgba(251,247,239,.88),rgba(251,247,239,.58));
  backdrop-filter:blur(16px);
}
.ba-nav-pill{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 14px 12px 24px;
  background:rgba(251,247,239,.82);
  border:1px solid rgba(165,125,55,.18);
  box-shadow:0 18px 60px rgba(17,41,59,.10);
}
.ba-brand{display:flex;align-items:center;gap:12px;min-width:170px}
.ba-brand img{display:block;width:180px;max-width:34vw}
.ba-nav{display:flex;align-items:center;gap:28px;color:rgba(17,41,59,.64);font-size:13px;font-weight:700}
.ba-nav a:hover,.ba-nav .is-active{color:var(--ink)}
.ba-nav-right{display:flex;align-items:center;gap:12px}
.ba-lang-switch{
  display:flex;
  align-items:center;
  padding:5px;
  border-radius:999px;
  background:rgba(17,41,59,.06);
  border:1px solid rgba(17,41,59,.10);
}
.ba-lang-switch button{
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(17,41,59,.62);
  cursor:pointer;
  font-size:13px;
  font-weight:900;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.ba-lang-switch button:hover{transform:translateY(-1px);color:var(--ink)}
.ba-lang-switch button.is-active{background:var(--ink);color:var(--paper)}
.ba-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border-radius:999px;
  border:0;
  background:var(--ink);
  color:var(--paper);
  cursor:pointer;
  font-size:13px;
  font-weight:900;
  padding:13px 18px;
  box-shadow:0 14px 34px rgba(17,41,59,.22);
  transition:transform .22s ease,box-shadow .22s ease;
}
.ba-cta:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(17,41,59,.28)}

.ba-hero{padding:92px 0 58px}
.ba-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:center}
.ba-kicker{
  display:inline-flex;
  margin-bottom:20px;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.ba-hero h1,.ba-section-title,.ba-post-title{
  font-family:Fraunces,Georgia,serif;
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.02;
  margin:0;
}
.ba-hero h1{font-size:clamp(52px,6vw,94px);max-width:870px}
.ba-accent{color:var(--gold);font-style:italic;font-weight:400}
.ba-lead{font-size:18px;line-height:1.82;color:var(--muted);max-width:690px;margin:26px 0 0}
.ba-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.ba-secondary{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border-radius:999px;
  padding:14px 20px;
  font-weight:900;
  background:rgba(251,247,239,.72);
  border:1px solid rgba(17,41,59,.12);
}
.ba-visual{
  min-height:480px;
  border-radius:38px;
  padding:30px;
  background:linear-gradient(145deg,#11293b,#183b55);
  color:var(--paper);
  box-shadow:0 34px 100px rgba(17,41,59,.28);
  border:1px solid rgba(214,189,134,.24);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}
.ba-visual:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(17,41,59,.08),rgba(17,41,59,.62)),
    var(--ba-visual-image,url("/images/box-framework.jpg")) center/cover;
  opacity:.48;
}
.ba-visual-card{
  position:relative;
  border-radius:28px;
  padding:28px;
  background:rgba(251,247,239,.08);
  border:1px solid rgba(214,189,134,.22);
  backdrop-filter:blur(8px);
}
.ba-visual-card h2{font-family:Fraunces,Georgia,serif;font-size:42px;line-height:1;margin:0 0 12px;font-weight:500}
.ba-visual-card p{margin:0;color:rgba(245,239,228,.76)}

.ba-section{padding:64px 0 100px}
.ba-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.ba-section-title{font-size:clamp(38px,4.5vw,68px)}
.ba-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 0}
.ba-pill{
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:800;
  color:rgba(17,41,59,.66);
  background:rgba(255,252,246,.60);
  border:1px solid rgba(17,41,59,.12);
}
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ba-card{
  min-height:360px;
  border-radius:32px;
  padding:28px;
  background:linear-gradient(180deg,rgba(255,252,246,.88),rgba(244,235,219,.74));
  border:1px solid rgba(165,125,55,.18);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  transition:transform .24s ease,box-shadow .24s ease;
}
.ba-card:hover{transform:translateY(-6px);box-shadow:0 38px 105px rgba(17,41,59,.18)}
.ba-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 10%,rgba(165,125,55,.12),transparent 24%);
  pointer-events:none;
}
.ba-card-meta{position:relative;z-index:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px;color:rgba(17,41,59,.56);font-size:12px;font-weight:800}
.ba-card-category{color:var(--gold);letter-spacing:.12em;text-transform:uppercase}
.ba-card h2{position:relative;z-index:1;font-family:Fraunces,Georgia,serif;font-size:32px;line-height:1.05;letter-spacing:-.03em;font-weight:500;margin:0 0 14px}
.ba-card p{position:relative;z-index:1;color:var(--muted);margin:0;line-height:1.74}
.ba-read{position:relative;z-index:1;margin-top:28px;font-weight:900;color:var(--ink)}
.ba-empty{border-radius:32px;padding:40px;background:rgba(255,252,246,.72);border:1px solid var(--line)}

.ba-single{padding:96px 0 100px}
.ba-article{width:min(860px,calc(100% - 44px));margin:0 auto}
.ba-back{display:inline-flex;margin-bottom:26px;color:var(--gold);font-weight:900}
.ba-post-title{font-size:clamp(48px,6vw,86px)}
body.ba-lang-de .ba-post-title{
  font-size:clamp(42px,5vw,76px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.ba-post-title{
  overflow-wrap:anywhere;
  hyphens:auto;
  text-wrap:balance;
}
.ba-post-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0 34px;color:rgba(17,41,59,.58);font-size:13px;font-weight:800}
.ba-featured-image{
  margin:0 0 28px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(165,125,55,.20);
  box-shadow:var(--shadow);
  background:rgba(255,252,246,.70);
}
.ba-featured-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.ba-content{
  border-radius:36px;
  padding:clamp(30px,5vw,58px);
  background:linear-gradient(180deg,rgba(255,252,246,.92),rgba(244,235,219,.78));
  border:1px solid rgba(165,125,55,.18);
  box-shadow:var(--shadow);
}
.ba-content[data-lang="de"]{display:none}
body.ba-lang-de .ba-content[data-lang="en"]{display:none}
body.ba-lang-de .ba-content[data-lang="de"]{display:block}
.ba-content :where(h2,h3,h4){font-family:Fraunces,Georgia,serif;letter-spacing:-.025em;line-height:1.12;color:var(--ink);font-weight:500}
.ba-content h2{font-size:42px;margin:44px 0 14px}
.ba-content h3{font-size:31px;margin:34px 0 12px}
.ba-content p,.ba-content li{color:rgba(17,41,59,.72);font-size:18px;line-height:1.86}
.ba-content a{color:var(--gold);font-weight:800;text-decoration:underline;text-underline-offset:4px}
.ba-content blockquote{margin:34px 0;padding:26px 30px;border-left:4px solid var(--gold);background:rgba(17,41,59,.04);border-radius:20px}
.ba-post-nav{display:flex;justify-content:space-between;gap:20px;margin-top:28px}
.ba-post-nav [data-lang="de"]{display:none}
body.ba-lang-de .ba-post-nav [data-lang="en"]{display:none}
body.ba-lang-de .ba-post-nav [data-lang="de"]{display:block}
.ba-post-nav a{font-weight:900;color:var(--ink)}

.ba-footer{border-top:1px solid rgba(17,41,59,.10);padding:52px 0;color:rgba(17,41,59,.62)}
.ba-footer-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}
.ba-footer-links{display:flex;gap:16px 26px;flex-wrap:wrap;margin-bottom:20px;font-weight:800;color:rgba(17,41,59,.68)}
.ba-disclaimer{font-size:12px;line-height:1.82;color:rgba(17,41,59,.52);margin:0}
.ba-footer-address{margin-top:20px;line-height:1.7}

.ba-sticky-cta-bar{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:70;
  width:min(1120px,calc(100% - 34px));
  border-radius:999px;
  padding:12px 14px 12px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(17,41,59,.92);
  color:var(--paper);
  border:1px solid rgba(214,189,134,.32);
  box-shadow:0 24px 80px rgba(17,41,59,.34);
  backdrop-filter:blur(18px);
  transition:opacity .22s ease,transform .22s ease;
}
.ba-sticky-cta-copy{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.ba-sticky-cta-kicker{
  display:inline-flex;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold-2);
  font-weight:900;
  white-space:nowrap;
}
.ba-sticky-cta-title{
  display:inline-flex;
  font-family:Fraunces,Georgia,serif;
  font-size:26px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.ba-sticky-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:var(--paper);
  color:var(--ink);
  cursor:pointer;
  font-size:13px;
  font-weight:900;
  padding:14px 20px;
  white-space:nowrap;
  transition:transform .22s ease,background .22s ease;
}
.ba-sticky-cta-button:hover{
  transform:translateY(-2px);
  background:#fffaf0;
}
body.ba-modal-open .ba-sticky-cta-bar{
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(16px);
}

.ba-modal-open{overflow:hidden}
.ba-consultation-modal[hidden]{display:none}
.ba-consultation-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:22px;
}
.ba-consultation-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,41,59,.66);
  backdrop-filter:blur(10px);
}
.ba-consultation-dialog{
  position:relative;
  width:min(1120px,100%);
  max-height:calc(100vh - 44px);
  overflow:auto;
  border-radius:34px;
  padding:clamp(26px,4vw,52px);
  background:linear-gradient(180deg,rgba(255,252,246,.98),rgba(244,235,219,.96));
  border:1px solid rgba(165,125,55,.20);
  box-shadow:0 42px 120px rgba(8,20,32,.38);
}
.ba-modal-close{
  position:absolute;
  top:22px;
  right:22px;
  width:50px;
  height:50px;
  border-radius:999px;
  border:1px solid rgba(17,41,59,.14);
  background:rgba(255,252,246,.82);
  color:var(--ink);
  cursor:pointer;
  font-size:30px;
  line-height:1;
}
.ba-consultation-copy{max-width:840px;margin-bottom:30px}
.ba-consultation-copy .ba-section-title{font-size:clamp(42px,5vw,78px)}
.ba-form-status{
  margin:22px 0 0;
  border-radius:18px;
  padding:14px 16px;
  font-weight:800;
}
.ba-form-status.is-success{background:rgba(20,122,83,.10);color:#147a53;border:1px solid rgba(20,122,83,.22)}
.ba-form-status.is-error{background:rgba(161,70,55,.10);color:#a14637;border:1px solid rgba(161,70,55,.22)}
.ba-consultation-form{display:block}
.ba-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px}
.ba-form-field{
  display:flex;
  flex-direction:column;
  gap:9px;
  color:rgba(17,41,59,.78);
  font-weight:900;
}
.ba-form-wide{margin-top:18px}
.ba-form-field input,.ba-form-field select{
  width:100%;
  min-height:60px;
  border-radius:18px;
  border:1px solid rgba(17,41,59,.14);
  background:rgba(255,252,246,.84);
  color:var(--ink);
  padding:0 18px;
  box-shadow:0 14px 34px rgba(17,41,59,.07);
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.ba-form-field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,rgba(17,41,59,.55) 50%),linear-gradient(135deg,rgba(17,41,59,.55) 50%,transparent 50%);
  background-position:calc(100% - 23px) 27px,calc(100% - 15px) 27px;
  background-size:8px 8px,8px 8px;
  background-repeat:no-repeat;
  padding-right:48px;
}
.ba-form-field input:focus,.ba-form-field select:focus{
  border-color:rgba(165,125,55,.55);
  box-shadow:0 0 0 4px rgba(165,125,55,.14),0 18px 42px rgba(17,41,59,.08);
  transform:translateY(-1px);
}
.ba-consent{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-top:24px;
  border-radius:20px;
  padding:18px;
  background:rgba(17,41,59,.04);
  border:1px solid rgba(17,41,59,.10);
  color:rgba(17,41,59,.72);
  font-weight:800;
}
.ba-consent input{
  width:24px;
  height:24px;
  margin-top:3px;
  accent-color:var(--ink);
  flex:0 0 auto;
}
.ba-form-actions{display:flex;justify-content:flex-end;margin-top:24px}
.ba-hidden-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

@media(max-width:960px){
  .ba-hero-grid,.ba-footer-grid,.ba-form-grid{grid-template-columns:1fr}
  .ba-grid{grid-template-columns:1fr 1fr}
  .ba-visual{min-height:390px}
  .ba-sticky-cta-title{font-size:22px}
  .ba-sticky-cta-kicker{display:none}
  .ba-sticky-cta-bar{border-radius:28px}
}
@media(max-width:760px){
  body{padding-bottom:116px}
  body.admin-bar .ba-header{top:46px}
  .ba-nav-pill{border-radius:28px;align-items:flex-start;flex-direction:column;padding:18px}
  .ba-brand img{width:148px;max-width:60vw}
  .ba-nav{gap:12px;flex-wrap:wrap}
  .ba-nav-right{width:100%;display:grid;grid-template-columns:auto 1fr;gap:12px}
  .ba-cta{width:100%}
  .ba-lang-switch{justify-content:center}
  .ba-hero{padding-top:52px}
  .ba-grid{grid-template-columns:1fr}
  .ba-hero h1{font-size:48px}
  .ba-lead{font-size:16px}
  .ba-section-head{display:block}
  .ba-post-nav{display:block}
  .ba-post-nav a{display:block;margin-top:14px}
  .ba-consultation-modal{padding:12px}
  .ba-consultation-dialog{max-height:calc(100vh - 24px);border-radius:26px}
  .ba-modal-close{top:14px;right:14px}
  .ba-form-actions{justify-content:stretch}
  .ba-sticky-cta-bar{
    left:12px;
    right:12px;
    bottom:12px;
    transform:none;
    width:auto;
    padding:12px;
    gap:10px;
  }
  .ba-sticky-cta-copy{display:block}
  .ba-sticky-cta-title{
    font-size:20px;
    white-space:normal;
  }
  .ba-sticky-cta-button{
    padding:12px 14px;
    font-size:12px;
  }
  body.ba-modal-open .ba-sticky-cta-bar{transform:translateY(16px)}
}
