:root{
  --ledger-green:#0F2A1D;
  --ledger-green-2:#173A28;
  --parchment:#F2EBDD;
  --parchment-2:#E9DFC9;
  --brass:#C9A227;
  --brass-soft:#E0C667;
  --ink:#1B2228;
  --sage:#8FA98C;
  --sage-deep:#5E7059;      /* sage, darkened for AA contrast on light backgrounds */
  --sage-d:#546953;          /* industry-tag text on parchment-2 (was failing AA) */
  --muted-brown:#6C6351;    /* replaces #8a7e68 (2.9–3.4:1) for dd-label / journal duration */
  --brass-deep:#81681A;     /* replaces --brass for text on light backgrounds (2.0:1 → 4.5:1) */
  --rule:rgba(15,42,29,0.14);
  --rule-light:rgba(242,235,221,0.18);
  --max:1200px;
  --header-h:88px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--parchment);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link{
  position:absolute;
  left:12px; top:-60px;
  background:var(--ledger-green);
  color:var(--parchment);
  padding:12px 18px;
  border-radius:3px;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  z-index:1000;
  transition:top 0.2s ease;
}
.skip-link:focus{top:12px;}

section[id], main[id]{scroll-margin-top:var(--header-h);}

h1,h2,h3,h4{
  font-family:'Fraunces',serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
}

.mono{font-family:'JetBrains Mono',monospace;}

a{color:inherit;}

.wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 32px;
}

/* ============ Reduced motion ============ */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ============ Focus states ============ */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:3px;
}

/* ============ Header ============ */
header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  background:rgba(242,235,221,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
  transition:background 0.3s ease;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 32px;
  max-width:var(--max);
  margin:0 auto;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ledger-green);
}
.brand-mark{
  width:38px;height:38px;
  border:1.5px solid var(--ledger-green);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:16px;
  position:relative;
}
.brand-mark::after{
  content:'';
  position:absolute;
  inset:5px;
  border:1px solid var(--brass);
  border-radius:50%;
}
.brand-name{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
  line-height:1.1;
}
.brand-name span{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:400;
  letter-spacing:0.18em;
  color:var(--sage-deep);
  margin-top:2px;
}
nav.links ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:36px;
  font-size:14.5px;
  font-weight:500;
}
nav.links a{
  text-decoration:none;
  color:var(--ink);
  position:relative;
  padding-bottom:4px;
}
nav.links a[aria-current="page"]{color:var(--ledger-green); font-weight:600;}
nav.links a::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:0; height:1.5px;
  background:var(--brass);
  transition:width 0.25s ease;
}
nav.links a:hover::after, nav.links a[aria-current="page"]::after{width:100%;}

.nav-cta{
  background:var(--ledger-green);
  color:var(--parchment);
  padding:10px 22px;
  border-radius:3px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  border:1px solid var(--ledger-green);
  transition:background 0.2s ease, color 0.2s ease;
}
.nav-cta:hover{
  background:transparent;
  color:var(--ledger-green);
}

.menu-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
}
.menu-toggle svg{display:block;}

/* ============ Hero ============ */
.hero{
  position:relative;
  padding:170px 0 100px;
  background:var(--ledger-green);
  color:var(--parchment);
  overflow:hidden;
}
.hero::before{
  /* ledger ruled lines */
  content:'';
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 47px,
    var(--rule-light) 47px,
    var(--rule-light) 48px
  );
  opacity:0.5;
  pointer-events:none;
}
.hero::after{
  /* margin rule */
  content:'';
  position:absolute;
  top:0; bottom:0;
  left:90px;
  width:1px;
  background:rgba(201,162,39,0.35);
  pointer-events:none;
}
@media (max-width:820px){
  .hero::after{left:24px;}
}

.hero-inner{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:64px;
  align-items:center;
}
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr; gap:48px;}
}
.hero-inner.hero-single{
  grid-template-columns:1fr;
  max-width:760px;
}

.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--brass-soft);
  margin-bottom:22px;
  display:flex;
  align-items:center;
  gap:14px;
}
.eyebrow::before{
  content:'';
  width:28px;height:1px;
  background:var(--brass-soft);
}

.hero h1{
  font-size:clamp(40px, 6vw, 68px);
  line-height:1.05;
  font-weight:600;
  color:var(--parchment);
}
.hero h1 em{
  font-style:italic;
  color:var(--brass-soft);
  font-weight:500;
}
.hero p.lead{
  margin-top:24px;
  font-size:18px;
  line-height:1.7;
  color:rgba(242,235,221,0.78);
  max-width:520px;
}
.hero-cta-row{
  margin-top:38px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.btn-primary{
  background:var(--brass);
  color:var(--ledger-green);
  padding:15px 30px;
  border-radius:3px;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  border:1px solid var(--brass);
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(201,162,39,0.25);
}
.btn-secondary{
  background:transparent;
  color:var(--parchment);
  padding:15px 30px;
  border-radius:3px;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  border:1px solid rgba(242,235,221,0.3);
  transition:border-color 0.2s ease, background 0.2s ease;
}
.btn-secondary:hover{
  border-color:var(--parchment);
  background:rgba(242,235,221,0.06);
}

/* ===== Ledger card (signature element) ===== */
/* ============ Section basics ============ */
section{padding:96px 0;}
.section-head{
  max-width:640px;
  margin-bottom:60px;
}
.section-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ledger-green);
  opacity:0.65;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:14px;
}
.section-eyebrow::before{
  content:'';
  width:28px;height:1px;
  background:var(--ledger-green);
  opacity:0.4;
}
.section-head h2{
  font-size:clamp(30px, 4vw, 44px);
  line-height:1.15;
}
.section-head p{
  margin-top:16px;
  font-size:16.5px;
  line-height:1.7;
  color:#4A4136;
}

/* ============ About ============ */
.about{
  background:var(--parchment);
}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}
@media (max-width:900px){
  .about-grid{grid-template-columns:1fr; gap:40px;}
}
.about-text p{
  font-size:16.5px;
  line-height:1.8;
  color:#3C3528;
  margin:0 0 18px;
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--rule);
  border:1px solid var(--rule);
  border-radius:6px;
  overflow:hidden;
}
.stat{
  background:var(--parchment);
  padding:28px 24px;
}
.stat .num{
  font-family:'Fraunces',serif;
  font-size:36px;
  font-weight:600;
  color:var(--ledger-green);
  display:flex;
  align-items:baseline;
  gap:4px;
}
.stat .num .unit{
  font-size:18px;
  color:var(--brass-deep);
  font-weight:600;
}
.stat .label{
  margin-top:8px;
  font-size:13px;
  color:#6b6151;
  letter-spacing:0.02em;
}

.values-heading{font-size:22px; margin-bottom:6px;}
.values-subhead{font-size:14.5px; color:#6b6151; margin:0 0 4px;}
.values-list{
  margin-top:28px;
  display:grid;
  gap:14px;
}
.value-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:16px 0;
  border-top:1px solid var(--rule);
}
.value-item:first-child{border-top:none; padding-top:0;}
.value-mark{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--brass);
  margin-top:3px;
  flex-shrink:0;
  width:24px;
}
.value-item h4{
  font-size:16px;
  font-weight:600;
  font-family:'Inter',sans-serif;
  margin-bottom:4px;
}
.value-item p{
  font-size:14.5px;
  color:#6b6151;
  margin:0;
  line-height:1.6;
}

/* ============ Services - Ledger table ============ */
.services{
  background:var(--ledger-green);
  color:var(--parchment);
  position:relative;
}
.services .section-eyebrow{color:var(--brass-soft); opacity:0.85;}
.services .section-eyebrow::before{background:var(--brass-soft); opacity:0.6;}
.services .section-head h2{color:var(--parchment);}
.services .section-head p{color:rgba(242,235,221,0.7);}

.ledger-table{
  border-top:1px solid rgba(242,235,221,0.18);
}
.ledger-entry{
  display:grid;
  grid-template-columns:64px 1fr 1.4fr;
  gap:32px;
  padding:32px 0;
  border-bottom:1px solid rgba(242,235,221,0.12);
  align-items:start;
  transition:background 0.3s ease;
}
.ledger-entry:nth-child(even){
  background:rgba(242,235,221,0.03);
}
.ledger-entry:hover{
  background:rgba(201,162,39,0.06);
}
@media (max-width:780px){
  .ledger-entry{grid-template-columns:1fr; gap:12px; padding:26px 0;}
}
.entry-code{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  color:var(--brass);
  padding-top:4px;
}
.entry-title h3{
  font-size:22px;
  color:var(--parchment);
  font-weight:600;
}
.entry-title p{
  margin-top:8px;
  font-size:14px;
  color:rgba(242,235,221,0.55);
  font-family:'JetBrains Mono',monospace;
  letter-spacing:0.02em;
}
.entry-detail ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 24px;
}
@media (max-width:560px){
  .entry-detail ul{grid-template-columns:1fr;}
}
.entry-detail li{
  font-size:14.5px;
  color:rgba(242,235,221,0.8);
  padding-left:18px;
  position:relative;
  line-height:1.5;
}
.entry-detail li::before{
  content:'—';
  position:absolute;
  left:0;
  color:var(--brass-soft);
}

/* ============ Track record / journal ============ */
.journal{
  background:var(--parchment-2);
}
.journal-list{
  display:grid;
  gap:0;
  border-top:1px solid var(--rule);
}
.journal-entry{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:32px;
  padding:30px 0;
  border-bottom:1px solid var(--rule);
}
@media (max-width:780px){
  .journal-entry{grid-template-columns:1fr; gap:8px;}
}
.journal-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  color:var(--ledger-green);
}
.journal-meta .duration{
  display:block;
  margin-top:6px;
  color:var(--muted-brown);
  font-size:12px;
}
.journal-body h2, .journal-body h3{
  font-size:19px;
  font-weight:600;
  font-family:'Fraunces',serif;
  margin-bottom:4px;
}
.journal-body .industry{
  font-size:13px;
  color:var(--sage-d, #6f8a6c);
  font-family:'JetBrains Mono',monospace;
  margin-bottom:10px;
  display:inline-block;
}
.journal-body p.summary{
  font-size:15px;
  line-height:1.7;
  color:#4A4136;
  margin:0;
}

/* ============ Credentials strip ============ */
.credentials{
  background:var(--ledger-green);
  color:var(--parchment);
  padding:64px 0;
}
.cred-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  text-align:center;
}
@media (max-width:900px){
  .cred-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .cred-grid{grid-template-columns:1fr;}
}
.cred-item{
  border-left:1px solid rgba(242,235,221,0.15);
  padding:8px 20px;
  background:none;
  border-top:none; border-right:none; border-bottom:none;
  font-family:inherit;
  color:inherit;
  cursor:pointer;
  text-align:center;
  border-radius:4px;
  transition:background 0.2s ease;
}
.cred-item:hover{
  background:rgba(201,162,39,0.06);
}
.cred-item:first-child{border-left:none;}
@media (max-width:900px){
  .cred-item:nth-child(odd){border-left:none;}
}
@media (max-width:520px){
  .cred-item{border-left:none; border-top:1px solid rgba(242,235,221,0.15); padding-top:24px;}
  .cred-item:first-child{border-top:none; padding-top:8px;}
}
.cred-item .cred-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--brass-soft);
  margin-bottom:10px;
}
.cred-item .cred-value{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
}
.cred-item .cred-sub{
  margin-top:6px;
  font-size:12.5px;
  color:rgba(242,235,221,0.6);
}
.cred-footnote{
  margin-top:36px;
  text-align:center;
  font-size:12.5px;
  color:rgba(242,235,221,0.45);
  font-family:'JetBrains Mono',monospace;
  letter-spacing:0.02em;
}

/* ============ Team ============ */
.team{
  background:var(--parchment);
}
.team-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
}
@media (max-width:780px){
  .team-grid{grid-template-columns:1fr;}
}
.team-card{
  border:1px solid var(--rule);
  border-radius:6px;
  padding:32px;
  background:#fff;
  position:relative;
  overflow:hidden;
}
.team-card::before{
  content:'';
  position:absolute;
  top:0; left:0;
  width:4px; height:100%;
  background:var(--brass);
}
.team-card .role{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:10px;
}
.team-card h3{
  font-size:24px;
  margin-bottom:14px;
}
.team-card p{
  font-size:15px;
  line-height:1.7;
  color:#4A4136;
  margin:0;
}

/* ============ Contact ============ */
.contact{
  background:var(--ledger-green);
  color:var(--parchment);
}
.contact .section-eyebrow{color:var(--brass-soft); opacity:0.85;}
.contact .section-eyebrow::before{background:var(--brass-soft); opacity:0.6;}
.contact .section-head h2{color:var(--parchment);}
.contact .section-head p{color:rgba(242,235,221,0.7);}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr; gap:40px;}
}

.contact-details{
  display:grid;
  gap:24px;
}
.contact-row{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding-bottom:20px;
  border-bottom:1px solid rgba(242,235,221,0.12);
}
.contact-row:last-child{border-bottom:none;}
.contact-icon{
  width:40px;height:40px;
  border:1px solid rgba(201,162,39,0.4);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  color:var(--brass-soft);
}
.contact-row .row-label{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-family:'JetBrains Mono',monospace;
  color:var(--brass-soft);
  margin:0 0 6px;
  font-weight:500;
}
.contact-row address{font-style:normal;}
.contact-row p, .contact-row a{
  font-size:16px;
  color:var(--parchment);
  text-decoration:none;
  line-height:1.6;
}
.contact-row a:hover{color:var(--brass-soft);}

/* form */
.form-card{
  background:rgba(242,235,221,0.04);
  border:1px solid rgba(242,235,221,0.12);
  border-radius:6px;
  padding:32px;
}
.form-card h3{
  font-size:20px;
  color:var(--parchment);
  margin-bottom:6px;
}
.form-card .sub{
  font-size:14px;
  color:rgba(242,235,221,0.6);
  margin-bottom:24px;
}
.field{
  margin-bottom:18px;
}
.field label{
  display:block;
  font-size:12.5px;
  font-family:'JetBrains Mono',monospace;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(242,235,221,0.55);
  margin-bottom:8px;
}
.field input, .field select, .field textarea{
  width:100%;
  background:rgba(242,235,221,0.06);
  border:1px solid rgba(242,235,221,0.18);
  border-radius:3px;
  padding:12px 14px;
  color:var(--parchment);
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  transition:border-color 0.2s ease, background 0.2s ease;
}
.field input::placeholder, .field textarea::placeholder{
  color:rgba(242,235,221,0.35);
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--brass);
  background:rgba(242,235,221,0.09);
  outline:none;
}
.field textarea{resize:vertical; min-height:100px;}

.submit-btn{
  width:100%;
  background:var(--brass);
  color:var(--ledger-green);
  border:1px solid var(--brass);
  padding:14px;
  border-radius:3px;
  font-weight:600;
  font-size:15px;
  cursor:pointer;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(201,162,39,0.2);
}
.form-status{
  font-size:13.5px;
  color:var(--brass-soft);
  min-height:1.4em;
  margin-bottom:12px;
}
.form-status:empty{margin-bottom:0;}
.whatsapp-btn{
  display:block;
  text-align:center;
  margin-top:14px;
  font-size:13.5px;
  color:rgba(242,235,221,0.7);
  text-decoration:underline;
  text-underline-offset:3px;
}
.whatsapp-btn:hover{color:var(--brass-soft);}

/* ============ Footer ============ */
footer{
  background:#0A1D14;
  color:rgba(242,235,221,0.55);
  padding:64px 0 32px;
  font-size:13.5px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:32px;
  border-bottom:1px solid rgba(242,235,221,0.08);
  padding-bottom:40px;
  margin-bottom:24px;
}
@media (max-width:880px){
  .footer-grid{grid-template-columns:1fr 1fr; gap:32px 24px;}
  .footer-brand-col{grid-column:1 / -1;}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
}
.footer-brand{
  font-family:'Fraunces',serif;
  font-size:20px;
  color:var(--parchment);
}
.footer-brand span{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.18em;
  color:var(--sage);
  margin-top:4px;
}
.footer-desc{
  margin-top:16px;
  font-size:13.5px;
  line-height:1.7;
  color:rgba(242,235,221,0.55);
  max-width:34ch;
}
.footer-reg{
  margin-top:14px;
  font-size:11.5px;
  color:rgba(242,235,221,0.5);
}
.footer-heading{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass-soft);
  opacity:0.85;
  margin:0 0 18px;
  font-weight:500;
}
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-links a{
  text-decoration:none;
  color:rgba(242,235,221,0.6);
  font-size:13.5px;
  transition:color 0.2s ease;
}
.footer-links a:hover{color:var(--brass-soft);}
.footer-contact{
  margin:0 0 10px;
  font-size:13.5px;
  line-height:1.6;
  color:rgba(242,235,221,0.6);
  font-style:normal;
}
.footer-contact a{color:inherit; text-decoration:none;}
.footer-contact a:hover{color:var(--brass-soft);}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:rgba(242,235,221,0.5);
}

/* ============ Document Lightbox ============ */
.doc-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,42,29,0.55);
  backdrop-filter:blur(3px);
  z-index:200;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.3s ease;
}
.doc-overlay.open{
  opacity:1;
  pointer-events:auto;
}
.doc-lightbox{
  position:fixed;
  top:50%; left:50%;
  transform:translate(-50%, -48%) scale(0.97);
  width:min(560px, 90vw);
  max-height:80vh;
  overflow-y:auto;
  background:var(--parchment);
  border-radius:8px;
  z-index:201;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.3s ease, transform 0.3s ease;
  box-shadow:0 40px 80px -30px rgba(0,0,0,0.5);
}
.doc-lightbox.open{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%, -50%) scale(1);
}
.doc-lightbox-head{
  padding:24px 28px;
  border-bottom:1px solid var(--rule);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  position:sticky;
  top:0;
  background:var(--parchment);
}
.doc-lightbox-head .eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:8px;
  display:block;
}
.doc-lightbox-head h3{font-size:20px;}
.doc-lightbox-body{padding:24px 28px 32px;}
.doc-detail-grid{
  display:grid;
  gap:14px;
}
.doc-detail-grid > div{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-bottom:12px;
  border-bottom:1px dashed var(--rule);
}
.doc-detail-grid > div:last-child{border-bottom:none; padding-bottom:0;}
.dd-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--muted-brown);
}
.dd-value{
  font-size:15px;
  color:var(--ink);
  line-height:1.5;
}
.dd-value.status-ok{
  color:#3f5a3c;
  font-weight:600;
}
.doc-verify-line{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--rule);
  font-size:13px;
  color:var(--muted-brown);
  line-height:1.7;
}
.doc-file-area{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--rule);
}
.doc-file-loading{
  font-size:13px;
  color:var(--muted-brown);
  font-style:italic;
}
.doc-file-pending{
  font-size:13.5px;
  color:var(--muted-brown);
  line-height:1.7;
  background:var(--parchment-2);
  padding:14px 16px;
  border-radius:4px;
}
.doc-file-found iframe{
  width:100%;
  height:420px;
  border:1px solid var(--rule);
  border-radius:4px;
  display:block;
}
.doc-download{
  margin-top:14px;
  display:inline-flex;
  color:var(--ledger-green);
  border-color:rgba(15,42,29,0.25);
}
.doc-download:hover{border-color:var(--ledger-green);}
.portal-close{
  background:none;
  border:1px solid var(--rule);
  border-radius:50%;
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  color:var(--ink);
  flex-shrink:0;
  transition:border-color 0.2s ease, color 0.2s ease;
}
.portal-close:hover{
  border-color:var(--brass);
  color:var(--brass);
}

/* ============ Reveal on scroll ============ */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
.no-js .reveal{opacity:1; transform:none;}

/* ============ Header scroll state (class-based, not inline styles) ============ */
header.scrolled{
  background:rgba(242,235,221,0.96);
  box-shadow:0 4px 20px -10px rgba(15,42,29,0.15);
}

/* ============ Mobile nav ============ */
@media (max-width:880px){
  nav.links, .nav-cta{display:none;}
  .menu-toggle{display:block;}
  nav.links.mobile-open{
    display:flex;
    position:absolute;
    top:100%;
    left:0; right:0;
    background:var(--parchment);
    padding:20px 32px 28px;
    border-bottom:1px solid var(--rule);
  }
  nav.links.mobile-open ul{
    flex-direction:column;
    gap:18px;
    width:100%;
  }
  .nav-cta.mobile-open{
    display:inline-flex;
    position:absolute;
    bottom:24px;
    left:32px;
  }
}

/* ============ Breadcrumbs ============ */
.breadcrumb{
  max-width:var(--max);
  margin:0 auto;
  padding:18px 32px 0;
}
.breadcrumb ol{
  list-style:none;
  margin:0; padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
}
.breadcrumb li:not(:last-child)::after{content:'/'; margin-left:6px; color:var(--rule);}
.breadcrumb a{color:var(--muted-brown); text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb [aria-current="page"]{color:var(--ink);}

/* ============ Multi-page heading + section additions ============ */
.section-head h1, .section-head h2{
  font-size:clamp(30px, 4vw, 44px);
  line-height:1.15;
}
.services .section-head h1{color:var(--parchment);}
.contact .section-head h1{color:var(--parchment);}
.credentials .section-eyebrow{color:var(--brass-soft); opacity:0.85;}
.credentials .section-eyebrow::before{background:var(--brass-soft); opacity:0.6;}
.credentials .section-head p{color:rgba(242,235,221,0.7);}
.entry-title h2{
  font-size:22px;
  color:var(--parchment);
  font-weight:600;
}
.entry-title a{color:inherit; text-decoration:none;}
.entry-title a:hover{text-decoration:underline;}
.journal-body h3 a, .journal-body h2 a{color:inherit; text-decoration:none;}
.journal-body h3 a:hover, .journal-body h2 a:hover{text-decoration:underline;}
.value-item h2{font-size:16px; margin-bottom:6px;}
.services-cta{margin-top:40px; text-align:center;}
.map-embed{
  margin-top:20px;
  border-radius:4px;
  overflow:hidden;
  border:1px solid var(--rule-light);
}

/* ============ Why Us ============ */
.why-us{
  background:var(--parchment-2);
  padding:64px 0;
}
.why-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:32px;
}
.why-item h3{
  font-size:17px;
  margin:10px 0 6px;
}
.why-item p{
  font-size:14.5px;
  color:#5A5142;
  line-height:1.6;
}
@media (max-width:880px){
  .why-grid{grid-template-columns:1fr 1fr; gap:24px;}
}
@media (max-width:560px){
  .why-grid{grid-template-columns:1fr;}
}

/* ============ Services: who-for + process ============ */
.who-for{
  font-size:14px;
  font-style:italic;
  color:rgba(242,235,221,0.6);
  margin:10px 0 14px;
  max-width:44ch;
}
.process-section{margin-top:80px;}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:28px;
  margin-top:20px;
}
.process-step h3{font-size:16px; margin:10px 0 6px; color:var(--parchment);}
.process-step p{font-size:14px; color:rgba(242,235,221,0.65); line-height:1.6;}
@media (max-width:880px){
  .process-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .process-grid{grid-template-columns:1fr;}
}

/* ============ FAQ ============ */
.faq-list{
  max-width:760px;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.faq-item h2{
  font-size:18px;
  font-family:'Fraunces',serif;
  margin-bottom:8px;
}
.faq-item p{
  font-size:15px;
  line-height:1.7;
  color:#4A4136;
}

/* ============ Trust strip ============ */
.trust-strip{
  background:var(--ledger-green);
  padding:36px 0;
}
.trust-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
}
.trust-strip-text .section-eyebrow{
  color:var(--brass-soft);
  opacity:0.9;
  margin-bottom:6px;
}
.trust-strip-text p{
  color:rgba(242,235,221,0.75);
  font-size:15px;
  max-width:56ch;
  margin:0;
}
.trust-strip .btn-secondary{
  border-color:rgba(242,235,221,0.4);
  color:var(--parchment);
  white-space:nowrap;
}
.trust-strip .btn-secondary:hover{border-color:var(--brass-soft); color:var(--brass-soft);}

/* ============ Final CTA banner ============ */
.cta-banner{
  background:var(--parchment-2);
  padding:72px 0;
  text-align:center;
}
.cta-banner-inner h2{
  font-size:clamp(28px, 3.6vw, 38px);
  margin-bottom:12px;
}
.cta-banner-inner p{
  font-size:16px;
  color:#5A5142;
  margin-bottom:28px;
}
.cta-banner .hero-cta-row{justify-content:center;}
.cta-banner .btn-secondary{
  color:var(--ledger-green);
  border-color:rgba(15,42,29,0.3);
}
.cta-banner .btn-secondary:hover{border-color:var(--ledger-green);}

/* ============ Document Library ============ */
.doc-library{
  margin-top:48px;
  padding-top:40px;
  border-top:1px solid rgba(242,235,221,0.15);
}
.doc-library-heading{
  font-family:'Fraunces',serif;
  font-size:20px;
  color:var(--parchment);
  margin:0 0 6px;
}
.doc-library-sub{
  font-size:14px;
  color:rgba(242,235,221,0.6);
  margin:0 0 20px;
}
.doc-library-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
  background:rgba(242,235,221,0.08);
}
.doc-library-list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 20px;
  background:var(--ledger-green);
}
.doc-library-name{
  font-size:14.5px;
  color:var(--parchment);
}
.doc-library-status{
  font-size:12px;
  color:rgba(242,235,221,0.55);
}
.doc-library-status.pending{color:var(--brass-soft); opacity:0.8;}
.doc-library-download{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.04em;
  color:var(--brass-soft);
  text-decoration:none;
  border:1px solid rgba(224,198,103,0.4);
  padding:6px 14px;
  border-radius:3px;
  transition:border-color 0.2s ease, background 0.2s ease;
}
.doc-library-download:hover{background:rgba(224,198,103,0.1); border-color:var(--brass-soft);}
@media (max-width:560px){
  .doc-library-list li{flex-direction:column; align-items:flex-start; gap:10px;}
}

/* ============ Floating WhatsApp button ============ */
.wa-float{
  position:fixed;
  right:20px;
  bottom:20px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,0.25);
  z-index:150;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.wa-float:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(0,0,0,0.3);
}
.wa-float:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:3px;
}
@media (max-width:560px){
  .wa-float{right:16px; bottom:16px; width:50px; height:50px;}
}
@media (prefers-reduced-motion: reduce){
  .wa-float{transition:none;}
}

/* ============ Send Documents ============ */
.send-docs{
  background:var(--parchment-2);
  padding:64px 0;
}
.send-docs-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.send-docs-card{
  background:var(--parchment);
  border:1px solid var(--rule);
  border-radius:6px;
  padding:26px;
}
.send-docs-icon{
  width:42px; height:42px;
  border-radius:50%;
  background:var(--ledger-green);
  color:var(--parchment);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}
.send-docs-card h3{font-size:17px; margin-bottom:8px;}
.send-docs-card p{font-size:14px; color:#5A5142; line-height:1.6; margin-bottom:14px;}
.send-docs-link{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  color:var(--muted-brown);
  text-decoration:none;
}
.send-docs-link:hover{text-decoration:underline;}
.send-docs-note{
  margin-top:32px;
  font-size:13px;
  color:#5A5142;
  max-width:70ch;
}
@media (max-width:880px){
  .send-docs-grid{grid-template-columns:1fr;}
}
