:root{
  --es-bg:#f5f1eb;
  --es-panel:#fffdf9;
  --es-panel-strong:#ffffff;
  --es-text:#172129;
  --es-muted:#56616b;
  --es-line:rgba(18,56,71,.10);
  --es-brand:#163847;
  --es-brand-2:#49636d;
  --es-soft:#f1ebe2;
  --es-soft-2:#f8f4ee;
  --es-shadow:0 18px 45px rgba(18,56,71,.07);
  --es-shadow-soft:0 10px 24px rgba(18,56,71,.05);
  --es-shadow-hover:0 28px 65px rgba(18,56,71,.12);
  --es-radius:20px;
  --es-radius-sm:14px;
  --es-radius-pill:999px;
  --es-heading-font:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --es-ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --es-letter:.12em;
}

body.esviv-theme{
  background:
    radial-gradient(circle at top left, rgba(18,56,71,.06), transparent 28%),
    linear-gradient(180deg, #fcfbf9 0%, var(--es-bg) 100%);
  color:var(--es-text);
  text-rendering:optimizeLegibility;
}

.wrap{
  width:min(1160px, calc(100% - 40px));
}

.site-header{
  background:rgba(252,251,249,.88);
  border-bottom:1px solid rgba(18,56,71,.07);
  box-shadow:0 4px 20px rgba(18,56,71,.03);
}

.header-shell{
  min-height:88px;
  gap:28px;
}

.brand-mark{
  width:50px;
  height:50px;
  border-radius:15px;
  box-shadow:0 14px 30px rgba(18,56,71,.14);
}

.site-title a{
  font-family:var(--es-heading-font);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:.01em;
}

.site-description,
.site-nav-list,
.header-cta,
.esviv-btn,
.hero-copy,
.hero-side-copy,
.section-head p,
.prose-card p,
.hero-secondary li,
.home-card span,
.steps-card p,
.trust-card span,
.site-footer p,
.authority-strip p,
.home-card em,
.hero-note,
.step-item strong,
.trust-card strong,
.footer-grid strong{
  font-family:var(--es-ui-font);
}

.site-description{
  font-size:.92rem;
  color:#67717a;
}

.site-nav-list{
  gap:20px;
}

.site-nav-list a{
  position:relative;
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--es-text);
  transition:color .2s ease;
}

.site-nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:rgba(18,56,71,.22);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .2s ease;
}

.site-nav-list a:hover,
.site-nav-list a:focus-visible{
  color:var(--es-brand);
}

.site-nav-list a:hover::after,
.site-nav-list a:focus-visible::after{
  transform:scaleX(1);
}

.header-cta,
.esviv-btn{
  min-height:50px;
  padding:13px 22px;
  border-radius:var(--es-radius-pill);
  font-size:.96rem;
  font-weight:700;
  letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

.header-cta,
.esviv-btn:not(.secondary){
  background:linear-gradient(180deg, #173d4d 0%, #123847 100%);
  border-color:#123847;
  box-shadow:0 14px 30px rgba(18,56,71,.16);
}

.header-cta:hover,
.header-cta:focus-visible,
.esviv-btn:hover,
.esviv-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 20px 36px rgba(18,56,71,.18);
}

.esviv-btn.secondary{
  background:rgba(255,255,255,.65);
  border-color:rgba(18,56,71,.16);
  color:var(--es-brand);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}

.esviv-btn.secondary:hover,
.esviv-btn.secondary:focus-visible{
  background:#fff;
  border-color:rgba(18,56,71,.26);
}

.site-main{
  padding:42px 0 68px;
}

.hero-slab,
.split-slab{
  gap:22px;
}

.hero-panel,
.content-card,
.home-card,
.trust-card,
.archive-item{
  border-color:var(--es-line);
  box-shadow:var(--es-shadow);
}

.hero-panel,
.content-card{
  border-radius:var(--es-radius);
}

.hero-panel{
  padding:40px;
}

.hero-primary{
  background:
    linear-gradient(180deg, rgba(18,56,71,.045), rgba(255,255,255,.98)),
    var(--es-panel-strong);
}

.hero-secondary,
.prose-card,
.steps-card,
.home-card,
.trust-card{
  background:var(--es-panel);
}

.eyebrow,
.home-card-kicker{
  color:var(--es-brand-2);
  letter-spacing:var(--es-letter);
  font-size:.74rem;
}

h1,h2,h3,
.site-footer strong,
.entry-title{
  font-family:var(--es-heading-font);
  color:#13212b;
}

h1,h2,h3{
  letter-spacing:-.018em;
}

h1{
  font-size:clamp(2.35rem, 4.2vw, 4.45rem);
  line-height:1.04;
  max-width:12.5ch;
  margin-bottom:16px;
}

h2{
  font-size:clamp(1.8rem, 3vw, 2.7rem);
  line-height:1.08;
  max-width:18ch;
}

h3{
  font-size:1.42rem;
  line-height:1.14;
}

.hero-copy,
.hero-side-copy,
.section-head p,
.prose-card p,
.hero-secondary li,
.home-card span,
.steps-card p,
.trust-card span,
.site-footer p,
.authority-strip p{
  font-size:1rem;
  line-height:1.72;
  color:var(--es-muted);
}

.hero-copy{
  max-width:62ch;
  font-size:1.02rem;
}

.hero-note{
  margin:24px 0 28px;
  padding:17px 18px;
  border-radius:16px;
  background:linear-gradient(180deg, #f3ede4 0%, #efe7dd 100%);
  border:1px solid rgba(18,56,71,.07);
  box-shadow:var(--es-shadow-soft);
}

.hero-note strong{
  color:var(--es-text);
  font-size:.97rem;
}

.hero-actions{
  gap:14px;
}

.outcome-list{
  padding-left:20px;
  margin-top:16px;
}

.outcome-list li{
  margin-bottom:15px;
  padding-left:2px;
}

.authority-strip{
  margin:28px 0 8px;
  padding:20px 24px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(18,56,71,.98), rgba(56,80,88,.95));
}

.authority-strip p{
  color:#f7f4ef;
  font-size:1rem;
}

.trust-strip{
  gap:16px;
  margin:30px 0 6px;
}

.trust-card{
  border-radius:18px;
  padding:20px;
  background:rgba(255,255,255,.8);
}

.trust-card strong,
.home-card strong,
.step-item strong,
.footer-grid strong{
  font-size:1rem;
  letter-spacing:.01em;
}

.section-slab{
  margin-top:34px;
}

.section-head{
  margin-bottom:22px;
}

.section-head p:last-child{
  max-width:72ch;
}

.home-links{
  gap:16px;
}

.home-card{
  gap:12px;
  padding:24px;
  border-radius:18px;
  background:linear-gradient(180deg, #fffdfb 0%, #ffffff 100%);
}

.home-card:hover,
.home-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:var(--es-shadow-hover);
}

.home-card strong{
  font-family:var(--es-heading-font);
  font-size:1.32rem;
  line-height:1.15;
}

.home-card span:last-of-type{
  color:var(--es-muted);
}

.home-card em{
  color:var(--es-brand);
  font-size:.95rem;
  font-weight:700;
}

.prose-card,
.steps-card{
  padding:30px;
}

.steps-card{
  gap:18px;
}

.step-item{
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid rgba(18,56,71,.08);
}

.step-item > span{
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(180deg, #f3ede4 0%, #ece3d7 100%);
  color:var(--es-brand);
  box-shadow:inset 0 0 0 1px rgba(18,56,71,.05);
}

.site-footer{
  margin-top:34px;
  padding:40px 0 54px;
  border-top:1px solid rgba(18,56,71,.08);
  background:rgba(255,255,255,.46);
}

.footer-grid{
  gap:26px;
}

.footer-grid strong{
  display:inline-block;
  margin-bottom:8px;
  font-family:var(--es-heading-font);
  font-size:1.08rem;
}

.footer-grid a{
  color:var(--es-brand);
}

.site-footer p{
  max-width:48ch;
}

::selection{
  background:rgba(18,56,71,.14);
  color:var(--es-text);
}

@media (max-width: 980px){
  .header-shell{
    padding:14px 0 16px;
  }

  .header-actions{
    gap:14px;
  }

  .site-nav-list{
    gap:16px;
  }

  .hero-panel,
  .prose-card,
  .steps-card{
    padding:28px;
  }

  h1{
    max-width:none;
  }

  h2{
    max-width:none;
  }
}

@media (max-width: 640px){
  .wrap{
    width:min(1160px, calc(100% - 22px));
  }

  .site-main{
    padding:28px 0 52px;
  }

  .hero-panel,
  .prose-card,
  .steps-card,
  .home-card,
  .trust-card{
    padding:22px;
  }

  h1{
    font-size:2.3rem;
    line-height:1.06;
  }

  h2{
    font-size:1.85rem;
  }

  .authority-strip{
    padding:18px 18px;
  }

  .header-cta,
  .esviv-btn{
    min-height:48px;
  }
}
