/* Ledger - corporate professional services. A static hero (no carousel)
   with an overlapping brand panel. No literal colours. */

.tp-theme-ledger{background:var(--tp-surface)}
.tp-theme-ledger h1,.tp-theme-ledger h2,.tp-theme-ledger h3{text-transform:uppercase;letter-spacing:.01em}

/* ---- header ---- */
.ledger-header{background:var(--tp-surface);border-bottom:3px solid var(--tp-theme-primary)}
.ledger-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.ledger-brand{display:flex;align-items:center;gap:12px;font-family:var(--tp-ff-heading);font-size:1.5rem;font-weight:700;text-transform:uppercase;color:var(--tp-ink)}
.ledger-brand img{max-height:52px;width:auto}
.ledger-mark{width:44px;height:44px;background:var(--tp-theme-primary);color:var(--tp-brand-contrast);display:flex;align-items:center;justify-content:center;font-family:var(--tp-ff-heading);font-size:1.4rem}
.ledger-nav{display:flex;gap:30px;align-items:center}
.ledger-nav a{font-family:var(--tp-ff-heading);font-size:1.02rem;letter-spacing:.05em;text-transform:uppercase;color:var(--tp-ink);font-weight:600}
.ledger-nav a:hover,.ledger-nav a[aria-current=page]{color:var(--tp-theme-primary)}
.ledger-cta{background:var(--tp-theme-primary);color:var(--tp-brand-contrast);padding:11px 22px;border-radius:var(--tp-radius)}
.ledger-cta:hover{background:var(--tp-brand-hover);color:var(--tp-brand-contrast)}

/* ---- hero: static image + overlapping panel ---- */
.ledger-hero{position:relative;background:var(--tp-surface-3)}
/* 8:3 matches the recommended 1600x600, so the banner is not cut. */
.ledger-hero__img{aspect-ratio:8/3;max-height:660px;overflow:hidden;background:var(--tp-surface-3)}
.ledger-hero__img img{width:100%;height:100%;object-fit:contain;object-position:center}
.ledger-hero--noimg .ledger-hero__img{aspect-ratio:auto;height:150px;background:var(--tp-theme-primary)}
.ledger-panel{
  background:var(--tp-theme-primary);color:var(--tp-brand-contrast);
  padding:clamp(32px,4vw,56px) clamp(28px,4vw,56px);
  max-width:660px;margin-top:-64px;position:relative;z-index:2;
  box-shadow:var(--tp-shadow-xl);
}
.ledger-panel::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:var(--tp-brand-contrast);opacity:.35;
}
.ledger-panel h1{color:inherit;margin:0 0 12px;font-size:clamp(1.9rem,4vw,2.9rem)}
.ledger-panel p{color:inherit;opacity:.93;margin:0 0 24px}
.ledger-panel .tp-btn{background:var(--tp-surface);color:var(--tp-theme-primary)}
.ledger-panel .tp-btn:hover{background:var(--tp-brand-light)}

/* ---- capability strip from the remaining banners ---- */
/* auto-flow column: one, two or three leftovers all fill the row evenly */
.ledger-strip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;margin-top:2px}
.ledger-strip img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* ---- about with a bullet list drawn from service names ---- */
.ledger-about{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}
.ledger-checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:11px}
.ledger-checks li{display:flex;gap:11px;align-items:flex-start}
.ledger-checks svg{color:var(--tp-theme-primary);flex:0 0 auto;margin-top:4px}

/* ---- dense two-column service list ---- */
.ledger-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px}
.ledger-item{
  display:flex;gap:var(--tp-sp-5);align-items:center;
  padding:var(--tp-sp-4) var(--tp-sp-3);border-bottom:1px solid var(--tp-border);
  transition:background .22s var(--tp-ease),padding-left .22s var(--tp-ease);
}
.ledger-item:hover{background:var(--tp-brand-tint);padding-left:var(--tp-sp-5)}
.ledger-item__thumb img{transition:transform .5s var(--tp-ease)}
.ledger-item:hover .ledger-item__thumb img{transform:scale(1.06)}
.ledger-item__thumb{width:80px;height:80px;flex:0 0 80px;overflow:hidden;border-radius:var(--tp-radius)}
.ledger-item__thumb img{width:100%;height:100%;object-fit:cover}
.ledger-item h3{margin:0;font-size:1.15rem}

/* ---- testimonials ---- */
.ledger-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.ledger-quote{
  background:var(--tp-surface);border-left:4px solid var(--tp-theme-primary);
  padding:var(--tp-sp-6);box-shadow:var(--tp-shadow-sm);
  transition:transform .25s var(--tp-ease),box-shadow .25s var(--tp-ease);
}
.ledger-quote:hover{transform:translateY(-3px);box-shadow:var(--tp-shadow-lg)}
.ledger-quote p{color:var(--tp-ink-muted);margin:0 0 14px}
.ledger-quote cite{font-style:normal;font-family:var(--tp-ff-heading);text-transform:uppercase;letter-spacing:.06em;color:var(--tp-ink)}

/* ---- client logos in a bordered table ---- */
.ledger-logos{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--tp-border)}
.ledger-logos>div{padding:24px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--tp-border)}
.ledger-logos>div:last-child{border-right:0}
.ledger-logos img{max-height:40px;width:auto;object-fit:contain}

/* ---- full-width address bar above the footer ---- */
.ledger-addressbar{background:var(--tp-surface-3);border-top:1px solid var(--tp-border);padding:26px 0}
.ledger-addressbar .tp-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ledger-addressbar h4{font-family:var(--tp-ff-heading);text-transform:uppercase;letter-spacing:.07em;font-size:.88rem;color:var(--tp-theme-primary);margin:0 0 6px}

.tp-theme-ledger .tp-pagehead{background:var(--tp-theme-primary);color:var(--tp-brand-contrast);padding:60px 0}
.tp-theme-ledger .tp-pagehead h1,.tp-theme-ledger .tp-pagehead .tp-eyebrow{color:var(--tp-brand-contrast)}

@media (max-width:991px){
  .ledger-about{grid-template-columns:1fr;gap:32px}
  .ledger-list{grid-template-columns:1fr}
  .ledger-quotes{grid-template-columns:1fr}
  .ledger-logos{grid-template-columns:repeat(3,1fr)}
  .ledger-strip{grid-auto-flow:row}
  .ledger-addressbar .tp-wrap{grid-template-columns:1fr}
}
@media (max-width:767px){
  .ledger-panel{margin-top:-40px;padding:28px 24px}
  .ledger-hero__img{max-height:none}
}

/* Single active indicator: a line under the current page. */
.ledger-nav a{position:relative}
.ledger-nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--tp-theme-primary);border-radius:2px}

/* ===== finishing layer ===== */
.tp-theme-ledger{background:var(--tp-surface)}
.ledger-header{box-shadow:var(--tp-shadow-sm);position:sticky;top:0;z-index:60;background:var(--tp-surface)}
.ledger-hero{background:var(--tp-surface-2)}
.ledger-panel h1{text-transform:none;letter-spacing:-.01em}
/* alternating bands give the long page a rhythm */
.tp-theme-ledger .tp-section:nth-of-type(even){background:var(--tp-surface-2)}
.ledger-list{gap:0 56px}
.ledger-logos{background:var(--tp-surface);box-shadow:var(--tp-shadow-xs)}
.ledger-addressbar{border-top:3px solid var(--tp-theme-primary)}
.tp-theme-ledger .tp-btn{letter-spacing:.02em}
