/* Brand palette sampled from the service presentation. */
.story-copy p + p{margin-top:20px;}
:root{
  --ink:#141418;
  --ink-soft:#5C5A56;
  --paper:#FFFFFF;
  --paper-line:#E4DFD3;
  --gold:#8A6D33;
  --gold-accent:#B8995A;
  --stamp:#8A6D33;
  --radius-control:10px;
  --radius-panel:16px;
}
:focus-visible{ outline:3px solid var(--gold); outline-offset:4px; }
.btn,.menu-toggle,.skip-link,input,textarea,select,button{ border-radius:var(--radius-control); }
.btn{ font-weight:600; }
.btn-gold,.hero .btn-gold{ background:var(--gold-accent); border-color:var(--gold-accent); color:var(--ink); }
.btn-gold:hover,.hero .btn-gold:hover{ background:#D9C08A; border-color:#D9C08A; color:var(--ink); }
.nav-cta .booking-btn{ border-color:var(--gold); color:var(--gold); }
.nav-cta .booking-btn:hover{ background:var(--ink); border-color:var(--ink); color:var(--white); }
.brand .mark,.receipt,.ledger-table,.editorial-image,.system-proof img,iframe{ border-radius:var(--radius-panel); }
.hero::before{ opacity:.08; }
.hero .eyebrow,.section-head .eyebrow{ color:var(--gold); }
.workflow-node,.workflow-note,.value-projection,.process-cta{ border-radius:var(--radius-panel); }
.workflow-node{ border-color:var(--paper-line); }
.workflow-node.prep{ border-color:var(--gold-accent); }
.workflow-note,.value-projection{ border:1px solid var(--paper-line); background:#FAF8F4; }
.process-cta{ background:var(--ink); color:var(--white); border:0; }
.process-cta p{ color:var(--paper-line); }
.process-cta .btn{ background:var(--gold-accent); border-color:var(--gold-accent); color:var(--ink); }
.process-cta .btn:hover{ background:#D9C08A; border-color:#D9C08A; }
#process .feat-grid,#why .feat-grid,.guide-grid,.value-grid,.readiness-grid,.faq-grid{ gap:24px; }
#process .feat,#process .feat:nth-child(n),#why .feat,#why .feat:nth-child(n),.guide-card,.guide-card.featured,.value-card,.readiness-card,.readiness-card + .readiness-card,.faq-item,#contact .contact-grid .feat{
  border:1px solid var(--paper-line);
  border-radius:var(--radius-panel);
  padding:28px;
  background:var(--white);
}
#why{ background:var(--ink); color:var(--white); border:0; }
#why .feat,#why .feat:nth-child(n){ background:var(--white) !important; color:var(--ink) !important; }
#why .section-head .eyebrow{ color:#D9C08A !important; }
#why .feat h3{ color:var(--ink) !important; }
.value-grid,.readiness-grid{ border:0; }
.value-card strong{ color:var(--gold); }
.guide-card a,.guide-resources a{ color:var(--gold); }
.guide-card a:hover,.guide-resources a:hover{ text-decoration:underline; text-underline-offset:4px; }
.guide-card.featured{ border-color:var(--gold-accent); }
.faq-item{ grid-template-columns:36px minmax(0,1fr); gap:14px; }
.quick-table-wrap{ border:1px solid var(--paper-line); border-radius:var(--radius-panel); }
.quick-table th{ background:var(--ink); color:var(--white); }
.quick-table th:first-child{ color:var(--white); }
.quick-table tr:last-child td{ border-bottom:0; }
.pricing-table{ border-collapse:separate; border-spacing:0; border:1px solid var(--paper-line); border-radius:var(--radius-panel); }
.pricing-table caption{ padding-bottom:16px; }
.pricing-table .pricing-recommended-caption{ padding-bottom:90px; }
.pricing-table th:first-child,.pricing-table td:first-child{ padding-left:14px; }
.pricing-table thead th{ background:var(--ink); color:var(--white); }
.pricing-table thead tr:first-child th:first-child{ border-top-left-radius:15px; }
.pricing-table thead tr:first-child th:last-child{ border-top-right-radius:15px; }
.pricing-table tbody tr:last-child td{ border-bottom:0; }
.pricing-recommended{ color:var(--gold); }
.public-contact{ border:1px solid var(--paper-line); border-radius:var(--radius-panel); padding:0 24px; }
footer{ background:var(--ink); color:var(--white); }
footer h4{ color:#D9C08A; }
footer p,footer li,.foot-bottom{ color:var(--paper-line); }
footer img{ filter:brightness(0) invert(1); }
.foot-bottom{ border-color:#3A3A42; }
@media(max-width:900px){
  #process .feat-grid,#why .feat-grid{ display:grid; grid-template-columns:1fr; }
  .value-card + .value-card,.readiness-card + .readiness-card{ border:1px solid var(--paper-line); padding:28px; }
}
@media(max-width:560px){
  .pain-image,.process-image{ width:100%; margin-left:0; }
  .public-contact{ padding:0 18px; }
  .faq-item{ padding:22px; grid-template-columns:28px minmax(0,1fr); }
}
