html { scroll-behavior: smooth; scroll-padding-top: 24px; color-scheme: light dark; }
body { margin: 0; }
[hidden] { display: none !important; }
::selection { background: var(--teal-soft); color: var(--ink); }
a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font-family: var(--sans); }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--teal); outline-offset: 5px; }
.wrap { width: min(100% - 56px, 984px); margin-inline: auto; }
.skip-link { position: fixed; z-index: 10; top: 12px; left: 12px; padding: 12px 20px; background: var(--ink); color: var(--paper); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 108px; border-bottom: 1px solid var(--rule); }
.wordmark { color: var(--ink); text-decoration: none; font: 500 39px/1 var(--serif); letter-spacing: -.05em; display: inline-flex; gap: 9px; align-items: baseline; }
.wordmark span { font: 400 10px var(--mono); letter-spacing: .06em; }
.nav-links { display: flex; align-items: center; gap: 30px; }
.nav-links a { color: var(--ink-2); font-size: 13px; text-decoration: none; padding-block: 10px; transition: color 180ms ease; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--teal); }
.nav-links .nav-contact { color: var(--teal); border-bottom: 1px solid var(--teal); padding-bottom: 5px; }
.theme-toggle { min-width: 38px; min-height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--rule); border-radius: 50%; background: transparent; color: var(--ink-2); cursor: pointer; transition: color 180ms, background 180ms; }
.theme-toggle:hover { color: var(--teal); background: var(--paper-2); }
.theme-toggle svg { width: 17px; height: 17px; }
.site-footer { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; margin-top: 0; padding-block: 26px; border-top: 1px solid var(--rule); color: var(--ink-2); font-size: 12px; }
.site-footer p { margin: 0; }
.site-footer a { color: var(--ink-2); }
.site-footer .footer-links { display: flex; gap: 24px; }
.landing section { margin-top: 0; }
.landing h1 { font-size: clamp(46px, 5.7vw, 65px); line-height: 1.03; letter-spacing: -.027em; }
.landing h1 em { color: var(--teal); font-weight: 400; }
.landing h2 { font-size: clamp(34px, 4vw, 45px); line-height: 1.09; letter-spacing: -.017em; margin: 0 0 22px; }
.landing h3 { font-size: 25px; line-height: 1.15; }
.landing p { text-wrap: pretty; }
.landing .eyebrow { font-size: 10px; margin-bottom: 24px; letter-spacing: .1em; }
.hero { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0 32px; padding-top: 88px; }
.hero-copy { position: relative; z-index: 1; }
.hero-intro { max-width: 40ch; margin: 28px 0 14px; color: var(--ink-2); font-size: 17px; line-height: 1.7; }
.hero-detail { font-size: 13px; line-height: 1.65; color: var(--ink-2); max-width: 39ch; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.button { display: inline-flex; justify-content: center; gap: 28px; align-items: center; background: var(--teal); color: var(--paper); font-size: 13px; font-weight: 500; text-decoration: none; padding: 15px 20px; border-radius: 4px; transition: transform 180ms cubic-bezier(.2,.7,.2,1), filter 180ms; }
.button:hover { filter: brightness(.94); transform: translateY(-2px); }
.button:active { transform: translateY(1px); }
.text-link { display: inline-flex; gap: 20px; align-items: center; font-size: 13px; font-weight: 500; text-decoration: none; padding-block: 8px; border-bottom: 1px solid var(--rule); transition: border-color 180ms; }
.text-link:hover { border-color: var(--teal); }
.hero-foot { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 24px; margin-top: 80px; padding-block: 20px; border-top: 1px solid var(--rule); }
.hero-foot p { color: var(--ink-2); font-size: 11px; margin: 0; }
.paper-scene { position: relative; min-height: 362px; margin-top: 26px; isolation: isolate; }
.paper-outline { position: absolute; inset: 28px 0 2px 20px; border: 1px solid var(--rule); border-radius: 3px; transform: rotate(5deg); }
.paper-back { position: absolute; inset: 14px 20px 16px 10px; padding: 26px; background: var(--paper-2); border: 1px solid var(--rule); transform: translateY(calc(var(--sc-p, 0) * -10px)) rotate(-7deg); border-radius: 3px; }
.paper-back span { font: 8px var(--mono); color: var(--ink-2); }
.paper-back i { display: block; height: 1px; width: 74%; background: var(--rule); margin-top: 24px; }
.paper-front { position: absolute; inset: 0 14px 20px 35px; background: var(--paper); border: 1px solid var(--rule); padding: 29px; box-shadow: 0 18px 40px -22px #1b22293d; transform: translateY(calc(var(--sc-p, 0) * 10px)) rotate(3deg); border-radius: 3px; }
.paper-caption { font: 8px var(--mono); letter-spacing: .025em; color: var(--ink-2); }
.paper-title { font: 400 40px/1.08 var(--serif); letter-spacing: -.02em; padding-block: 24px 20px; }
.paper-rule { height: 1px; background: var(--teal); }
.paper-line { display: flex; justify-content: space-between; font-size: 10px; padding-top: 12px; color: var(--ink-2); }
.paper-line span:last-child { color: var(--teal); }
.paper-signature { margin-top: 25px; font: italic 30px var(--serif); color: var(--teal); }
.paper-signature span { margin-left: 5px; font: 7px var(--mono); }
.journey-section { background: var(--paper-2); padding: 88px 0 50px; border-block: 1px solid var(--rule); }
.section-intro { max-width: 560px; margin-bottom: 40px; }
.section-intro > p:last-child { max-width: 51ch; color: var(--ink-2); font-size: 15px; line-height: 1.7; }
.journey { background: var(--paper); border: 1px solid var(--rule); border-radius: 8px; overflow: hidden; --journey-x: 0px; --journey-angle: -5deg; }
.journey-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--rule); }
.journey-tabs button { appearance: none; border: 0; border-right: 1px solid var(--rule); position: relative; padding: 19px 18px; color: var(--ink-2); text-align: left; cursor: pointer; font-size: 13px; background: none; transition: color 180ms, background 180ms; }
.journey-tabs button:last-child { border-right: 0; }
.journey-tabs button span { font: 10px var(--mono); margin-right: 12px; }
.journey-tabs button::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform 240ms ease; }
.journey-tabs button[aria-pressed="true"] { color: var(--teal); background: var(--teal-soft); }
.journey-tabs button[aria-pressed="true"]::after { transform: scaleX(1); }
.journey-tabs button:hover { color: var(--teal); background: var(--teal-soft); }
.journey-tabs button:focus-visible { outline-offset: -5px; }
.journey-body { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 42px 38px 36px; align-items: center; min-height: 300px; }
.journey-visual { position: relative; min-height: 216px; max-width: 360px; width: 100%; }
.trail-top { display: flex; justify-content: space-between; font: 9px var(--mono); letter-spacing: .06em; color: var(--ink-2); }
.trail { position: absolute; inset: 78px 8px auto; display: flex; align-items: center; }
.trail-dot { width: 9px; height: 9px; background: var(--paper); border: 1px solid var(--teal); border-radius: 50%; }
.trail-dot.start { background: var(--teal); }
.trail-line { flex: 1; height: 1px; background: var(--rule); }
.invoice { position: absolute; top: 41px; left: 24px; width: 100px; height: 132px; background: var(--paper); border: 1px solid var(--teal); border-radius: 2px; padding: 25px 15px; transform: translateX(var(--journey-x)) rotate(var(--journey-angle)); box-shadow: 4px 8px 20px -10px #1b222930; transition: transform 280ms cubic-bezier(.2,.7,.2,1); }
.invoice-label { font: 9px var(--mono); color: var(--teal); }
.invoice-line { display: block; height: 1px; background: var(--rule); margin-top: 11px; }
.invoice-line.short { width: 68%; }
.invoice-fold { position: absolute; right: -1px; top: -1px; width: 16px; height: 16px; border-left: 1px solid var(--teal); border-bottom: 1px solid var(--teal); background: var(--teal-soft); }
.invoice-stamp { position: absolute; bottom: 12px; left: 13px; color: var(--teal); font-size: 8px; }
.trail-station { position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: center; gap: 10px; font-size: 11px; color: var(--ink-2); }
.station-icon { font: 24px var(--serif); color: var(--teal); }
.journey-explanation h3 { margin-bottom: 15px; font-size: 28px; }
.journey-explanation > p:not(.k) { font-size: 14px; color: var(--ink-2); }
.journey-explanation .k { color: var(--teal); font-size: 9px; }
.journey-boundary { border-top: 1px solid var(--rule); padding-top: 14px; margin: 18px 0 0; }
.journey-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-top: 1px solid var(--rule); padding: 12px 22px; }
.journey-bottom p { margin: 0; color: var(--ink-2); font-size: 10px; }
.text-button { border: 0; color: var(--teal); background: transparent; cursor: pointer; padding: 10px 0; font-size: 12px; text-align: left; }
.text-button span { display: inline-block; margin-left: 12px; transition: transform 180ms; }
.text-button:hover span { transform: translateX(3px); }
.journey-note { margin: 21px 0 0; color: var(--ink-2); font-size: 12px; max-width: 76ch; line-height: 1.8; }
.journey-note a { white-space: nowrap; }
.standards-section { padding-block: 100px; }
.standards-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 40px; }
.standards-heading h2 { margin-bottom: 0; }
.standards-heading > p { font-family: var(--serif); font-size: 22px; line-height: 1.45; color: var(--ink-2); margin-bottom: 3px; }
.standards-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 70px; }
.standards-list article { position: relative; display: grid; grid-template-columns: 1fr; padding: 27px 0 27px 37px; border-top: 1px solid var(--rule); }
.standards-list h3 { margin-bottom: 13px; }
.standards-list h3 br { display: none; }
.rule-number { position: absolute; top: 29px; left: 0; font: 10px var(--mono); color: var(--teal); }
.standards-list p { margin: 0; font-size: 13px; line-height: 1.75; color: var(--ink-2); }
.standards-note { display: flex; gap: 13px; margin-top: 12px; padding: 20px 0; border-top: 1px solid var(--rule); }
.standards-note p { margin: 0; font-size: 12px; line-height: 1.8; color: var(--ink-2); max-width: 95ch; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); flex-shrink: 0; margin-top: 7px; }
.example-section { background: var(--paper-2); border-block: 1px solid var(--rule); padding-block: 76px 25px; }
.example-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 85px; }
.example-intro > p:not(.eyebrow) { color: var(--ink-2); font-size: 14px; line-height: 1.75; }
.example-intro > .example-client { color: var(--teal) !important; font-weight: 500; }
.matching-illustration { display: flex; align-items: center; gap: 18px; padding: 10px 10px 25px; }
.match-sheet { width: 130px; height: 154px; padding: 22px 15px; border: 1px solid var(--rule); background: var(--paper); transform: rotate(-5deg); box-shadow: 0 8px 16px -12px #1b222936; }
.match-sheet span { font: 9px var(--mono); color: var(--ink-2); }
.match-sheet i { display: block; height: 1px; background: var(--rule); margin-top: 15px; }
.match-sheet.approved { transform: rotate(5deg); }
.match-sheet b { display: block; border: 1px solid var(--teal); color: var(--teal); font: italic 15px var(--serif); text-align: center; transform: rotate(-9deg); margin-top: 15px; padding: 3px; }
.match-join { color: var(--teal); font: 28px var(--serif); }
.example-outcome { margin-top: 18px; padding-top: 22px; border-top: 1px solid var(--rule); }
.example-outcome .k { font-size: 9px; color: var(--ink-2); }
.example-outcome h3 { font-size: 30px; margin-block: 10px 14px; }
.example-outcome p { font-size: 12px; color: var(--ink-2); max-width: 47ch; }
.example-context { grid-column: 1/-1; border-top: 1px solid var(--rule); padding-top: 18px; font-size: 11px; color: var(--ink-2); line-height: 1.8; }
.engagement-section { padding-block: 100px 65px; }
.engagement-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 80px; margin-bottom: 22px; }
.engagement-heading p { color: var(--ink-2); font-size: 15px; }
.engagement-steps { display: grid; grid-template-columns: repeat(3,1fr); list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ink); }
.engagement-steps li { padding: 26px 26px 0 0; }
.engagement-steps li + li { padding-left: 26px; border-left: 1px solid var(--rule); }
.engagement-steps .k { color: var(--teal); font-size: 9px; }
.engagement-steps h3 { margin: 13px 0 12px; }
.engagement-steps p { font-size: 13px; color: var(--ink-2); line-height: 1.75; }
.review-note { margin-top: 32px; padding-top: 21px; border-top: 1px solid var(--rule); color: var(--ink-2); font-size: 11px; }
.contact-section { padding-block: 75px; border-block: 1px solid var(--rule); background: var(--teal-soft); }
.contact-layout { display: grid; grid-template-columns: 1fr 220px; gap: 80px; }
.contact-layout > div > p:not(.eyebrow) { color: var(--ink-2); font-size: 14px; max-width: 53ch; }
.topic-options { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.topic-options button { border: 1px solid var(--rule); background: transparent; color: var(--ink-2); padding: 10px 15px; border-radius: 999px; font-size: 12px; cursor: pointer; transition: background 180ms, color 180ms, border-color 180ms; }
.topic-options button[aria-pressed="true"] { border-color: var(--teal); background: var(--teal); color: var(--paper); }
.topic-options button:hover { border-color: var(--teal); }
.contact-email { display: inline-flex; gap: 40px; font: 400 clamp(24px, 3vw, 32px) var(--serif); padding-block: 27px 10px; text-decoration: none; border-bottom: 1px solid var(--teal); }
.contact-layout > div > .email-note { font-size: 10px; margin-top: 12px; }
.founder-note { align-self: center; padding-left: 28px; border-left: 1px solid var(--rule); }
.founder-mark { font: italic 64px var(--serif); color: var(--teal); }
.founder-note p { font-size: 12px !important; line-height: 1.8; }
.founder-note p span { color: var(--ink-2); }
.no-js-note { color: var(--ink-2); padding: 20px; font-size: 13px; border: 1px solid var(--rule); }
.js-only { display: none; }
.has-js .js-only { display: grid; }
html:not(.has-js) .journey-tabs, html:not(.has-js) .journey-bottom button,
html:not(.has-js) .topic-options, html:not(.has-js) .process-page .controls { display: none; }
.process-page .page { padding-top: 54px; }
.process-page .figwrap { scrollbar-color: var(--teal) var(--paper-2); }
.process-page .diagram-help { font-size: 12px; color: var(--ink-2); margin-bottom: 16px; }
.process-page .k, .process-page .section-head .num, .process-page th { color: var(--ink-2); }
.process-page svg .tag { fill: var(--ink-2); }
.process-page .sources { color: var(--ink-2); }
.process-page .sources p { max-width: 78ch; }
.process-page .public-status { padding: 18px 20px; border-left: 3px solid var(--amber); background: var(--amber-soft); border-radius: 0 6px 6px 0; margin-top: 28px; color: var(--ink-2); font-size: 14px; }
.process-page .public-status strong { color: var(--ink); }
.process-page .public-status p { margin: 8px 0 0; }
.process-page .chip, .process-page .seg button { min-height: 40px; }
.process-page .check { min-width: 22px; }
.not-found { padding-block: 100px 160px; min-height: 66vh; }
.not-found p { color: var(--ink-2); max-width: 50ch; margin-block: 24px; }
@media (hover: hover) and (pointer: fine) {
  .standards-list article h3 { transition: color 220ms; }
  .standards-list article:hover h3 { color: var(--teal); }
}
@media (max-width: 900px) {
  .hero { grid-template-columns: 1.5fr 1fr; gap: 0 18px; padding-top: 65px; }
  .hero h1 { font-size: 53px; }
  .paper-front { padding: 22px; inset-inline: 18px 5px; }
  .paper-title { font-size: 33px; }
  .paper-caption { font-size: 7px; }
  .paper-scene { margin-top: 30px; min-height: 330px; }
  .paper-line { font-size: 9px; }
  .journey-body { padding-inline: 25px; }
  .journey-tabs button { font-size: 12px; padding-inline: 12px; }
  .journey-tabs button span { margin-right: 5px; }
  .standards-heading, .standards-list, .example-layout, .engagement-heading, .contact-layout { column-gap: 35px; }
}
@media (max-width: 680px) {
  .wrap { width: calc(100% - 40px); }
  .site-nav { min-height: 88px; gap: 10px; }
  .wordmark { font-size: 33px; }
  .wordmark span { font-size: 8px; }
  .nav-links { gap: 17px; }
  .nav-links a { font-size: 11px; }
  .nav-links .nav-standards { display: none; }
  .theme-toggle { min-width: 32px; min-height: 32px; }
  .hero { display: block; padding-top: 49px; }
  .hero h1 { font-size: clamp(41px, 7.1vw, 49px); letter-spacing: -.026em; }
  .landing .eyebrow { font-size: 9px; margin-bottom: 21px; }
  .hero-intro { font-size: 16px; margin-top: 23px; max-width: 40ch; }
  .hero-detail { font-size: 12px; }
  .hero-actions { gap: 24px; margin-top: 26px; }
  .paper-scene { height: 242px; min-height: 0; width: 230px; margin: 43px auto 0; }
  .paper-front { padding: 18px; inset: 0 6px 8px 19px; }
  .paper-back { inset: 10px 13px 10px 0; padding: 16px; }
  .paper-back span { font-size: 6px; }
  .paper-back i { margin-top: 17px; }
  .paper-title { font-size: 28px; padding-block: 13px 12px; }
  .paper-caption { font-size: 6px; }
  .paper-line { font-size: 8px; padding-top: 7px; }
  .paper-signature { font-size: 22px; margin-top: 8px; }
  .hero-foot { margin-top: 33px; padding-block: 16px; gap: 15px; }
  .hero-foot p { font-size: 9px; }
  .hero-foot p:last-child { white-space: nowrap; }
  .journey-section { padding-block: 57px 35px; }
  .landing h2 { font-size: 35px; }
  .section-intro > p:last-child { font-size: 14px; }
  .section-intro { margin-bottom: 28px; }
  .journey-tabs { grid-template-columns: repeat(2,1fr); }
  .journey-tabs button { padding: 14px 11px; }
  .journey-tabs button:nth-child(2) { border-right: 0; }
  .journey-tabs button:nth-child(-n+2) { border-bottom: 1px solid var(--rule); }
  .journey-body { grid-template-columns: 1fr; padding: 28px 23px 20px; gap: 25px; }
  .journey-visual { min-height: 203px; margin-inline: auto; max-width: 300px; }
  .journey-explanation { min-height: 209px; }
  .journey-explanation h3 { font-size: 26px; }
  .journey-bottom { display: block; padding: 13px 20px 4px; }
  .journey-bottom p { font-size: 9px; }
  .journey-bottom button { margin-top: 5px; }
  .journey-note { font-size: 11px; }
  .standards-section { padding-block: 62px 45px; }
  .standards-heading { display: block; margin-bottom: 27px; }
  .standards-heading > p { font-size: 20px; margin-top: 24px; }
  .standards-list { grid-template-columns: 1fr; }
  .standards-list article { padding-block: 24px; padding-left: 31px; }
  .rule-number { top: 27px; }
  .standards-list h3 { font-size: 25px; }
  .standards-list p { font-size: 13px; }
  .standards-note p { font-size: 11px; }
  .example-section { padding-top: 56px; }
  .example-layout { display: block; }
  .example-intro { max-width: 49ch; }
  .example-detail { margin-top: 40px; }
  .matching-illustration { justify-content: center; }
  .example-context { margin-top: 24px; font-size: 10px; }
  .example-outcome { margin-top: 5px; }
  .engagement-section { padding-block: 61px 45px; }
  .engagement-heading { display: block; }
  .engagement-heading p { font-size: 14px; }
  .engagement-steps { grid-template-columns: 1fr; }
  .engagement-steps li { padding: 24px 0 8px; }
  .engagement-steps li + li { border-left: 0; border-top: 1px solid var(--rule); padding-left: 0; }
  .review-note { font-size: 10px; margin-top: 20px; }
  .contact-section { padding-block: 53px 38px; }
  .contact-layout { display: block; }
  .contact-email { font-size: 27px; gap: 25px; }
  .founder-note { display: grid; grid-template-columns: 65px 1fr; column-gap: 20px; margin-top: 44px; padding: 25px 0 0; border-left: 0; border-top: 1px solid var(--rule); }
  .founder-mark { grid-row: 1/3; font-size: 52px; }
  .founder-note p { margin-bottom: 7px; }
  .founder-note p:last-child { font-size: 10px !important; }
  .site-footer { gap: 13px; font-size: 10px; padding-block: 23px; }
  .site-footer .footer-links { gap: 20px; }
  .process-page .page { padding-inline: 20px; padding-top: 36px; }
  .process-page h1 { font-size: 43px; }
  .process-page section { margin-top: 58px; }
  .process-page .reader { padding: 20px; }
  .process-page .section-head h2 { font-size: 29px; }
  .process-page .step { column-gap: 16px; }
  .process-page .figwrap { padding: 14px; }
  .process-page .tablewrap { border: 1px solid var(--rule); border-radius: 6px; padding: 12px; }
  .process-page td { min-width: 150px; }
  .process-page th:first-child, .process-page td:first-child { min-width: 160px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .paper-front { transform: rotate(3deg); }
  .paper-back { transform: rotate(-7deg); }
}
@media print {
  .site-nav, .site-footer, .hero-actions, .theme-toggle, .journey-tabs, .journey-bottom, .topic-options { display: none !important; }
  :root { --paper: #fff; --paper-2: #f2f3f0; --ink: #1B2229; --ink-2: #4B555C; --ink-3: #4B555C; --rule: #C9CFC8; --teal: #0E6B62; --teal-soft: #DCEBE7; }
  .figwrap svg { min-width: 0; }
  .page, .wrap { width: 100%; padding: 16px; }
}

/* User-directed charcoal and muted gold palette, shared by all public pages. */
html:root, html:root[data-theme], html:root:not([data-theme]) {
 --paper:#1b1b1a; --paper-2:#232321; --ink:#f5f1e8; --ink-2:#c5c0b5; --ink-3:#aaa294;
 --rule:#49463e; --teal:#d1b67b; --teal-soft:#343127; --amber:#ddba7c; --amber-soft:#3a3328;
 color-scheme:dark;
}
.floating-contact { position:absolute; z-index:8; top:28px; right:28px; display:inline-flex; align-items:center; gap:28px; padding:16px 25px; border:1px solid #8a7245; border-radius:999px; color:var(--teal); background:var(--paper); font-size:13px; text-decoration:none; transition:background 180ms,color 180ms; }
.floating-contact:hover { background:var(--teal); color:var(--paper); }
.header-brand { position:absolute; z-index:8; top:28px; left:28px; display:inline-flex; align-items:center; gap:8px; min-height:55px; color:var(--ink); font:500 33px/1 var(--sans); letter-spacing:-.045em; text-decoration:none; }
.header-brand img { display:block; width:52px; height:52px; }
.header-brand:hover { color:var(--teal); }
.header-brand:active { transform:translateY(1px); }
.button { border-radius:999px; }
.process-page .page { padding-top:120px; }
@media(max-width:680px) { .floating-contact { top:22px; right:16px; padding:12px 19px; font-size:12px; gap:20px; } }
@media(max-width:680px) { .header-brand { top:22px; left:16px; min-height:44px; gap:5px; font-size:26px; } .header-brand img { width:42px; height:42px; } }

/* Visual one-page explanation. The approved hero has its own unchanged stylesheet. */
.skip-link:not(:focus) { clip-path:inset(50%); }
.experience-wrap { width:min(100% - 80px,1200px); margin-inline:auto; }
.experience-section { padding-block:110px; }
.landing .experience-section h2, .landing .experience-contact h2 { font-size:clamp(46px,5.4vw,76px); line-height:1.02; letter-spacing:-.035em; font-weight:400; margin-bottom:24px; }
.experience-section h2 em, .experience-contact h2 em { font-weight:400; color:var(--teal); }
.experience-section p { color:var(--ink-2); font-size:16px; line-height:1.7; }
.experience-section button { cursor:pointer; color:inherit; font:inherit; }
.experience-section button:active { transform:translateY(1px); }
.demo-section { padding-top:96px; }
.demo-heading { text-align:center; max-width:830px; margin:0 auto 38px; }
.demo-heading > p:last-child { max-width:54ch; margin:0 auto; }
.landing .demo-heading .eyebrow { color:var(--teal); font-size:11px; margin-bottom:24px; }
.workflow-options { display:flex; justify-content:center; gap:12px; margin-bottom:28px; }
.workflow-options button { border:1px solid var(--rule); border-radius:16px; padding:15px 26px; min-width:220px; text-align:left; background:transparent; font-size:17px; transition:background 180ms,border-color 180ms; }
.workflow-options button span { display:block; color:var(--ink-2); font-size:12px; margin-top:4px; }
.workflow-options button[aria-pressed="true"] { background:#353126; border-color:#9a8458; }
.workflow-options button:hover { border-color:var(--teal); }
.workflow-demo { border:1px solid #514b3e; border-radius:24px; overflow:hidden; background:radial-gradient(ellipse at 45% 25%,#383225 0%,#262520 42%,#212120 76%); }
.demo-topline { display:flex; justify-content:space-between; gap:20px; padding:24px 32px; font-size:12px; border-bottom:1px solid #ffffff0d; }
.sample-label { color:var(--ink-2); }
.demo-scene { display:grid; grid-template-columns:1fr 210px 1fr; gap:20px; padding:42px 64px 50px; align-items:center; }
.demo-source,.demo-destination { display:flex; flex-direction:column; align-items:center; gap:23px; min-width:0; }
.scene-label { font-size:13px; color:var(--ink-2); }
.sample-paper { position:relative; padding:26px; width:244px; min-height:272px; color:#39372f; background:#e9e3d5; border-radius:3px; transform:rotate(-5deg); box-shadow:10px 20px 34px #08080650, -10px 10px 0 -2px #b2a789; transition:transform 450ms cubic-bezier(.2,.7,.2,1); overflow:hidden; }
.sample-paper:after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 3px,#70604406 3px 4px); }
.paper-kind { display:block; font:32px var(--serif); margin-bottom:23px; }
.sample-paper > strong { font-size:12px; display:block; font-weight:500; }
.paper-ref { font-size:11px; color:#625d50; display:block; margin-top:4px; }
.paper-rules { margin:22px 0; }
.paper-rules i { display:block; height:1px; background:#aaa08c; margin-top:9px; }
.paper-rules i:last-child { width:68%; }
.paper-total { display:flex; justify-content:space-between; align-items:center; font-size:11px; border-top:1px solid #aaa08c; padding-top:13px; }
.paper-total strong { font-size:17px; }
.paper-original { font-size:9px; text-transform:uppercase; letter-spacing:.08em; display:block; margin-top:19px; }
.scan-line { position:absolute; inset:0 0 auto; height:3px; background:#8e7549; box-shadow:0 10px 24px #8e754962; opacity:0; }
.workflow-demo[data-phase="1"] .scan-line { opacity:.8; animation:read-document 2.9s ease-in-out infinite; }
@keyframes read-document { 0%{transform:translateY(0)} 100%{transform:translateY(280px)} }
.workflow-demo[data-phase="1"] .sample-paper { transform:rotate(0); }
.workflow-demo[data-phase="3"] .sample-paper { transform:rotate(-2deg) translateY(5px); }
.workflow-demo[data-workflow="receipts"] .sample-paper { width:211px; border-radius:0; clip-path:polygon(0 0,100% 0,100% 98%,96% 100%,92% 98%,88% 100%,84% 98%,80% 100%,76% 98%,72% 100%,68% 98%,64% 100%,60% 98%,56% 100%,52% 98%,48% 100%,44% 98%,40% 100%,36% 98%,32% 100%,28% 98%,24% 100%,20% 98%,16% 100%,12% 98%,8% 100%,4% 98%,0 100%); }
.demo-bridge { position:relative; display:flex; align-items:center; margin-top:40px; }
.bridge-line { height:1px; flex:1; background:#8d774d; position:relative; }
.bridge-line:after { content:""; position:absolute; width:5px; height:5px; right:0; top:-2px; border-top:1px solid #cdb886; border-right:1px solid #cdb886; transform:rotate(45deg); }
.reader-mark { width:100px; height:100px; flex-shrink:0; border:1px solid #8e774d; border-radius:26px; background:#25231e; display:grid; place-items:center; box-shadow:0 18px 34px #10100e65; }
.reader-caption { position:absolute; top:125px; left:50%; transform:translateX(-50%); font-size:11px; color:var(--ink-2); white-space:nowrap; }
.result-sheet { width:270px; min-height:272px; padding:23px; background:#1c1d1b; border:1px solid #5e584b; border-radius:14px; box-shadow:0 18px 36px #0c0c0b45; }
.result-heading { display:flex; align-items:center; gap:13px; padding-bottom:19px; font-size:13px; }
.result-symbol { font:27px var(--serif); color:var(--teal); }
.extracted-fields { margin:0; font-size:11px; }
.extracted-fields > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #ffffff12; transition:opacity 240ms,transform 240ms; }
.extracted-fields dt { color:var(--ink-2); }
.extracted-fields dd { margin:0; text-align:right; font-weight:500; }
.result-route { border-top:1px solid #5d553f; padding-top:15px; margin-top:10px; font-size:11px; color:#deca98; display:flex; gap:9px; align-items:center; transition:opacity 240ms,transform 240ms; }
.workflow-demo[data-phase="1"] .extracted-fields > div { animation:field-arrive 300ms ease-out both; }
.workflow-demo[data-phase="1"] .extracted-fields > div:nth-child(2) { animation-delay:70ms; }
.workflow-demo[data-phase="1"] .extracted-fields > div:nth-child(3) { animation-delay:140ms; }
@keyframes field-arrive { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.bridge-line:before { content:""; position:absolute; top:-3px; left:0; width:7px; height:7px; border-radius:50%; background:#d1b67b; opacity:0; }
.workflow-demo[data-phase="1"] .bridge-line:before,.workflow-demo[data-phase="3"] .bridge-line:before { animation:pass-record 1.6s ease-out infinite; }
@keyframes pass-record { 0% { transform:translateX(0); opacity:0; } 15% { opacity:1; } 80% { opacity:1; } 100% { transform:translateX(48px); opacity:0; } }
.workflow-demo[data-phase="2"] .reader-mark { border-color:#d1b67b; }
.demo-timeline { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #514b3e; }
.demo-timeline button { padding:20px 12px; border:0; background:transparent; position:relative; font-size:13px; transition:background 180ms; }
.demo-timeline button+button { border-left:1px solid #514b3e; }
.demo-timeline button span { color:var(--ink-2); margin-right:10px; font-size:10px; }
.demo-timeline button[aria-pressed="true"] { background:#373227; color:#ead6a5; }
.demo-timeline button[aria-pressed="true"]:before { content:""; position:absolute; top:-1px; left:0; right:0; height:2px; background:#d1b67b; }
.demo-timeline button:hover { background:#353126; }
.demo-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 26px; border-top:1px solid #514b3e; background:#20201e; }
.demo-caption p { font-size:13px; margin:0; }
.demo-caption button { display:inline-flex; gap:8px; align-items:center; flex-shrink:0; border:1px solid var(--rule); border-radius:999px; padding:9px 15px; background:transparent; min-height:44px; min-width:96px; justify-content:center; font-size:12px; }
.demo-caption button:hover { border-color:var(--teal); }
.demo-footnote { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; }
.demo-footnote p { font-size:11px; margin:0; }
.demo-footnote a { flex-shrink:0; }
.comparison-section { background:#dcd4c2; color:#32342c; padding-block:100px 28px; --ink-2:#555647; --teal:#626446; --rule:#b3ad9b; }
.comparison-layout { display:grid; grid-template-columns:1fr 1.05fr; gap:72px; align-items:center; }
.comparison-copy h2 { margin-top:22px; }
.proof-label { display:inline-block; font-size:11px; color:#555647; }
.comparison-copy > p { max-width:41ch; }
.comparison-copy .quiet-note { font-size:12px; margin-top:24px; max-width:46ch; }
.match-demo { min-width:0; }
.match-options { display:flex; border:1px solid #a4a18d; border-radius:999px; padding:4px; width:fit-content; margin:0 auto 36px; }
.match-options button { border:0; padding:12px 17px; border-radius:999px; background:transparent; color:#474a3b; font-size:12px; transition:background 180ms,color 180ms; }
.match-options button[aria-pressed="true"] { background:#414635; color:#f8f4e8; }
.match-options button:hover:not([aria-pressed="true"]) { background:#cbc6b4; }
.comparison-documents { display:flex; justify-content:center; gap:22px; padding:0 10px; }
.comparison-document { width:186px; min-height:214px; padding:23px; background:#f4efe3; box-shadow:0 17px 28px #70684d28; transform:rotate(-5deg); transition:transform 260ms; }
.comparison-document.approval { transform:rotate(5deg) translateY(7px); background:#ebe5d7; }
.comparison-document > span:first-child { font:21px var(--serif); display:block; }
.comparison-doc-id { font-size:10px; margin-top:15px; display:block; color:#69695a; }
.comparison-document i { display:block; height:1px; margin-top:17px; background:#c3bfac; }
.comparison-document i:nth-last-child(2) { width:70%; }
.comparison-document strong { display:block; font:30px var(--serif); margin-top:23px; }
.comparison-result { display:flex; gap:16px; align-items:center; margin-top:34px; padding:22px 24px; border-radius:14px; background:#c9cbb4; color:#343c28; min-height:94px; transition:background 180ms; }
.comparison-result strong { font-size:15px; font-weight:500; }
.comparison-result p { color:inherit; font-size:12px; margin:5px 0 0; line-height:1.55; }
.match-symbol { display:grid; place-items:center; width:36px; height:36px; border:1px solid #899475; border-radius:50%; font-size:20px; flex-shrink:0; }
.match-demo[data-match="no"] .comparison-result { background:#dfc7a6; color:#61411e; }
.match-demo[data-match="no"] .match-symbol { border-color:#a68558; }
.match-demo[data-match="no"] .approval strong { color:#87552f; }
.match-demo[data-match="no"] .approval { transform:rotate(2deg) translateY(7px); }
.experience-section .match-note { font-size:10px; text-align:center; margin:15px auto 0; max-width:48ch; }
.real-work-note { margin-top:76px; display:flex; align-items:center; gap:12px; padding-top:22px; border-top:1px solid #b3ad9b; }
.real-work-note p { font-size:11px; margin:0; }
.work-dot { width:6px; height:6px; flex-shrink:0; background:#60634b; border-radius:50%; }
.ownership-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; align-items:center; }
.ownership-intro p { max-width:40ch; }
.ownership-flow { display:grid; grid-template-columns:1fr 80px 1fr 80px 1fr; align-items:center; margin-top:48px; padding:38px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.ownership-node { display:flex; align-items:center; flex-direction:column; text-align:center; gap:14px; }
.ownership-node svg { width:48px; height:48px; stroke:var(--teal); fill:none; stroke-width:1.5; }
.ownership-node strong { font-weight:500; font-size:16px; }
.ownership-node span { font-size:12px; color:var(--ink-2); margin-top:-7px; }
.ownership-arrow { text-align:center; color:#b39a68; font-size:30px; }
.boundary-notes { display:flex; justify-content:space-between; gap:25px; margin-top:20px; }
.boundary-notes p { font-size:12px; }
.boundary-notes p span { color:var(--teal); margin-right:8px; }
.faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; margin-top:90px; }
.landing .faq-layout h3 { font-size:42px; font-weight:400; letter-spacing:-.025em; }
.faq-layout > div > p { font-size:13px; margin-top:17px; }
.faq-list details { border-top:1px solid var(--rule); }
.faq-list details:not([open]) > div { display:none; }
.faq-list details:last-child { border-bottom:1px solid var(--rule); }
.faq-list summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:23px 0; font-size:15px; line-height:1.45; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary > span { color:var(--teal); font-size:23px; line-height:1; transition:transform 180ms; }
.faq-list details[open] summary > span { transform:rotate(45deg); }
.faq-list summary:hover { color:var(--teal); }
.faq-list summary:focus-visible { outline:2px solid var(--teal); outline-offset:5px; }
.faq-list details > div { padding:0 26px 16px 0; }
.faq-list details p { font-size:13px; line-height:1.8; }
.experience-section .current-status-note { margin:25px 0 0; font-size:11px; text-align:right; }
.working-section { border-top:1px solid var(--rule); padding-block:92px; background:#21211e; }
.working-heading { text-align:center; }
.working-heading p { font-size:15px; }
.working-steps { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:0; margin:54px 0 0; gap:46px; }
.working-steps li { border-top:1px solid #6e6249; padding-top:25px; }
.working-steps li > span { font-size:11px; color:var(--teal); display:block; margin-bottom:20px; }
.landing .working-steps h3 { font-size:28px; font-weight:400; margin-bottom:12px; }
.working-steps p { font-size:13px; max-width:29ch; margin:0; }
.experience-contact { padding-block:96px; background:#302d24; }
.experience-contact .contact-layout { grid-template-columns:1fr 210px; gap:100px; }
.experience-contact .contact-email { font-size:clamp(28px,3.2vw,43px); }
.founder-logo { display:block; margin-bottom:25px; }
html:not(.has-js) .workflow-options,html:not(.has-js) .demo-timeline,html:not(.has-js) #demo-play,html:not(.has-js) .match-options { display:none; }
.demo-paused .scan-line,.demo-paused .bridge-line:before { animation-play-state:paused !important; }
@media (max-width:1000px) {
 .experience-wrap { width:calc(100% - 56px); }
 .experience-section { padding-block:80px; }
 .demo-scene { grid-template-columns:1fr 130px 1fr; gap:10px; padding:34px 24px 40px; }
 .sample-paper { width:220px; padding:23px; }
 .result-sheet { width:230px; padding:20px; }
 .reader-mark { width:76px; height:76px; border-radius:20px; }
 .reader-mark img { width:44px; height:44px; }
 .reader-caption { font-size:9px; top:103px; }
 .comparison-layout { gap:36px; grid-template-columns:1fr 1.1fr; }
 .comparison-documents { gap:16px; padding:0; }
 .comparison-document { width:160px; padding:18px; }
 .ownership-intro { gap:55px; }
 .faq-layout { gap:40px; }
 .working-steps { gap:28px; }
}
@media (max-width:760px) {
 .experience-wrap { width:calc(100% - 40px); }
 .experience-section { padding-block:64px; }
 .landing .experience-section h2,.landing .experience-contact h2 { font-size:clamp(39px,7.6vw,58px); }
 .demo-heading > p:last-child { font-size:14px; }
 .workflow-options { gap:10px; }
 .workflow-options button { min-width:0; flex:1; max-width:260px; padding:14px 18px; font-size:15px; }
 .workflow-options button span { font-size:11px; }
 .demo-topline { padding:18px; font-size:10px; }
 .demo-scene { grid-template-columns:1fr 1fr; gap:24px; padding:34px 28px 32px; }
 .demo-bridge { display:none; }
 .sample-paper { width:100%; max-width:240px; min-height:255px; padding:21px; }
 .workflow-demo[data-workflow="receipts"] .sample-paper { width:90%; }
 .result-sheet { width:100%; max-width:250px; min-height:255px; padding:20px; }
 .result-heading { font-size:12px; padding-bottom:12px; }
 .extracted-fields > div { flex-direction:column; gap:2px; padding:8px 0; }
 .extracted-fields dd { text-align:left; }
 .result-route { font-size:10px; margin-top:4px; padding-top:9px; }
 .paper-kind { font-size:28px; }
 .scene-label { font-size:11px; }
 .demo-timeline button { font-size:11px; padding:17px 5px; }
 .demo-timeline button span { display:block; margin:0 0 4px; font-size:9px; }
 .demo-caption { padding:15px 18px; gap:14px; min-height:90px; }
 .demo-caption p { font-size:12px; }
 .demo-caption button { padding:9px 12px; min-width:82px; font-size:11px; }
 .demo-footnote { align-items:flex-start; }
 .demo-footnote p { font-size:10px; max-width:35ch; }
 .comparison-layout { grid-template-columns:1fr; gap:36px; }
 .comparison-copy p { max-width:54ch; font-size:14px; }
 .comparison-copy .quiet-note { max-width:56ch; margin-top:16px; }
 .match-demo { max-width:500px; width:100%; margin:auto; }
 .comparison-document { width:190px; padding:24px; }
 .real-work-note { margin-top:46px; align-items:flex-start; }
 .real-work-note .work-dot { margin-top:7px; }
 .real-work-note p { font-size:10px; }
 .ownership-intro { display:block; }
 .ownership-intro p { max-width:46ch; font-size:14px; }
 .ownership-flow { grid-template-columns:1fr 24px 1fr 24px 1fr; margin-top:30px; padding:28px 0; gap:0; }
 .ownership-node strong { font-size:12px; }
 .ownership-node span { font-size:10px; }
 .ownership-arrow { font-size:22px; }
 .boundary-notes { flex-wrap:wrap; gap:8px 20px; justify-content:flex-start; }
 .boundary-notes p { font-size:11px; margin:0; }
 .faq-layout { grid-template-columns:1fr; gap:25px; margin-top:55px; }
 .landing .faq-layout h3 { font-size:34px; }
 .faq-layout h3 br { display:none; }
 .faq-layout > div > p { margin-top:10px; }
 .faq-list summary { font-size:14px; padding:21px 0; }
 .experience-section .current-status-note { font-size:10px; text-align:left; }
 .working-heading { text-align:left; }
 .working-heading p { font-size:14px; }
 .working-steps { grid-template-columns:1fr; gap:24px; margin-top:34px; }
 .working-steps li { padding:21px 0 0 43px; position:relative; }
 .working-steps li > span { position:absolute; top:27px; left:0; }
 .working-steps p { max-width:43ch; }
 .experience-contact { padding-block:65px; }
 .experience-contact .contact-layout { display:block; }
 .experience-contact .founder-note { display:grid; grid-template-columns:65px 1fr; gap:0 20px; padding:25px 0 0; border-left:0; border-top:1px solid var(--rule); margin-top:42px; }
 .founder-logo { width:55px; height:55px; grid-row:1/3; margin:0; }
}
@media (max-width:400px) {
 .experience-wrap { width:calc(100% - 32px); }
 .workflow-demo { border-radius:18px; }
 .demo-topline { font-size:9px; gap:10px; padding:16px 14px; }
 .demo-scene { padding:29px 16px; gap:16px; }
 .demo-source,.demo-destination { gap:17px; }
 .sample-paper { padding:17px 13px; min-height:243px; }
 .paper-kind { font-size:25px; margin-bottom:18px; }
 .sample-paper > strong { font-size:10px; }
 .paper-ref { font-size:9px; }
 .paper-total strong { font-size:14px; }
 .paper-total { font-size:9px; }
 .paper-original { font-size:8px; }
 .result-sheet { padding:14px 12px; min-height:243px; }
 .result-heading { font-size:10px; gap:5px; }
 .result-symbol { font-size:23px; }
 .extracted-fields { font-size:10px; }
 .result-route { font-size:9px; gap:5px; }
 .demo-caption { padding:13px 14px; }
 .demo-caption p { font-size:11px; }
 .demo-footnote { display:block; }
 .demo-footnote p { max-width:none; }
 .demo-footnote a { margin-top:6px; font-size:12px; }
 .comparison-document { min-height:194px; padding:20px 16px; }
 .comparison-document > span:first-child { font-size:18px; }
 .comparison-document strong { font-size:26px; }
 .comparison-result { padding:18px 16px; gap:12px; }
 .comparison-result strong { font-size:13px; }
 .comparison-result p { font-size:11px; }
 .match-options button { font-size:11px; padding-inline:14px; }
 .ownership-node strong { font-size:11px; }
 .ownership-node span { font-size:9px; }
 .ownership-node svg,.ownership-node img { width:39px; height:39px; }
}
@media (prefers-reduced-motion:reduce) {
 .scan-line { display:none; }
 .sample-paper,.approval { transition:none; }
}
