/* Cavrynt / Field Notes type system, 2026-10. Not a generic SaaS layer. */
/* Type: Fraunces for editorial judgment; Source Sans 3 for utility; IBM Plex Mono for provenance. */
:root{--cv-display:"Fraunces",Georgia,serif;--cv-text:"Source Sans 3",system-ui,sans-serif;--cv-record:"IBM Plex Mono",Consolas,monospace;--cv-ink:#1b3434;--cv-oxide:#9d3e26;--cv-paper:#f5f2e9;--cv-hair:#aebeb7}
html{font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{font-family:var(--cv-text);font-size:16px;font-weight:400;line-height:1.58;font-optical-sizing:auto;letter-spacing:-.007em;color:var(--cv-ink)}
h1,h2,h3,.serif{font-family:var(--cv-display);font-optical-sizing:auto;font-weight:560;letter-spacing:-.046em;line-height:1.07;text-wrap:balance}
h1{font-size:clamp(3.55rem,6.5vw,6.25rem);line-height:1.04;letter-spacing:-.056em}
h2{font-size:clamp(2.35rem,4.35vw,4.45rem);line-height:1.09}
h3{font-size:clamp(1.45rem,2.25vw,2.25rem);letter-spacing:-.033em}
p,li,td{overflow-wrap:break-word}
.lead{font-family:var(--cv-text);font-weight:430;line-height:1.57;letter-spacing:-.014em}
.muted,.meta,.section-note,.column-grid p{line-height:1.67}
.nav nav a,.btn,button,.footer-links a{font-family:var(--cv-text);font-weight:650;letter-spacing:-.012em}
.nav nav a{font-size:.96rem}
.brand{font-family:var(--cv-text);font-size:1.96rem;font-weight:800;letter-spacing:-.075em}
.eyebrow,.tag,.topline,.contact-ref,.contact-caption,.contact-ledger-head,.contact-num,.contact-discretion{font-family:var(--cv-record);font-size:.735rem;line-height:1.55;font-weight:500;letter-spacing:.045em}
.hero-aside .number{font-family:var(--cv-display);font-optical-sizing:auto;font-size:clamp(2.8rem,4.35vw,4.15rem);font-weight:580;letter-spacing:-.046em;line-height:1.15;overflow-wrap:break-word}
.cost{font-family:var(--cv-display);font-size:clamp(3.8rem,5vw,5.25rem);font-weight:570;letter-spacing:-.055em}
.hero-aside .number,.cost,.count,.contact-num,.tag,.statline strong{font-variant-numeric:lining-nums tabular-nums}
.tag{display:block;line-height:1.65;font-size:.77rem;color:var(--cv-oxide);margin:0 0 14px;word-spacing:.05em}
.column-grid article{min-width:0;padding-top:23px}
.column-grid article h3{line-height:1.12}
.column-grid article p{max-width:35ch}
.comparison td,.comparison th{line-height:1.6}
.btn{min-height:48px}
a:focus-visible,button:focus-visible{outline:3px solid #0c6875;outline-offset:4px}
.contact-desk{display:block;padding-block:88px 108px;background:transparent;isolation:isolate}
.contact-intro{display:flex;align-items:baseline;justify-content:space-between;gap:22px;border-top:2px solid var(--cv-ink);padding-top:17px}
.contact-intro .eyebrow,.contact-ref{margin:0}
.contact-main{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(345px,.96fr);gap:clamp(42px,6vw,100px);align-items:start;padding-top:53px}
.contact-heading{min-width:0}
.contact-heading h2{font-family:var(--cv-display);font-size:clamp(3.2rem,5.6vw,5.65rem);line-height:1.05;letter-spacing:-.057em;margin:0 0 28px}
.contact-heading h2 i{color:var(--cv-oxide);font-weight:500}
.contact-heading .lead{font-size:1.16rem;line-height:1.62;max-width:36ch;color:#405959;margin:0}
.contact-address{margin-top:55px;border-top:1px solid var(--cv-ink);padding-top:17px}
.contact-caption{display:flex;justify-content:space-between;color:#405959}
.contact-mail{display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-family:var(--cv-display);font-weight:570;font-size:clamp(1.55rem,2.45vw,2.8rem);line-height:1.24;letter-spacing:-.045em;text-decoration:none;border-bottom:1px solid var(--cv-hair);padding:21px 0 15px;overflow-wrap:anywhere}
.contact-mail:hover{color:var(--cv-oxide)}
.contact-mail span{font-family:var(--cv-text);font-size:1.2rem;flex:none}
.contact-address .meta{max-width:35ch;margin-top:18px}
.contact-ledger{display:block;min-width:0;background:#fffdf8;border:1px solid var(--cv-ink);box-shadow:10px 10px 0 rgba(27,52,52,.055)}
.contact-ledger-head{display:flex;justify-content:space-between;gap:12px;background:var(--cv-ink);color:#fffdf8;padding:19px 23px}
.contact-ledger-row{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;gap:16px;align-items:start;padding:25px 23px;text-decoration:none;border-bottom:1px solid var(--cv-hair);min-height:106px;transition:background-color .17s ease}
.contact-ledger-row:hover,.contact-ledger-row:focus-visible{background:#e7eee7}
.contact-ledger-row strong{display:block;font-family:var(--cv-text);font-weight:680;line-height:1.35;font-size:1.14rem;letter-spacing:-.02em}
.contact-ledger-row small{display:block;margin-top:8px;font-family:var(--cv-text);font-weight:430;line-height:1.5;font-size:.91rem;color:#466063}
.contact-num{padding-top:3px;color:var(--cv-oxide)}
.contact-arrow{font-family:var(--cv-text);line-height:1.2;text-align:right;font-size:1.2rem}
.contact-discretion{padding:12px 23px 20px;margin:0;color:#526867;line-height:1.85;font-size:.67rem}
.policy{font-family:var(--cv-text)}
.policy h1,.policy h2{font-family:var(--cv-display);font-weight:560}
.policy h1{font-size:clamp(3.1rem,6vw,5.9rem);line-height:1.05}
.policy h2{font-size:clamp(1.55rem,2.5vw,2.3rem)}
.policy p,.policy li{font-family:var(--cv-text);font-size:1.03rem;line-height:1.77;color:#405959}
.policy .eyebrow{font-family:var(--cv-record);font-size:.75rem}
.policy a:not(.wordmark):not(.nav-action){text-underline-offset:4px;text-decoration-thickness:1px}
@media(max-width:920px){.contact-main{grid-template-columns:1fr;gap:40px}.contact-heading .lead{max-width:50ch}.contact-address{margin-top:36px}.contact-ledger{max-width:700px}.nav nav{gap:18px}.hero-aside .number{font-size:3.4rem}}
@media(max-width:560px){.contact-desk{padding-block:52px 75px}.contact-intro{align-items:start;flex-direction:column;gap:5px}.contact-main{padding-top:31px;gap:33px}.contact-heading h2{font-size:clamp(2.9rem,12vw,4.5rem)}.contact-heading .lead{font-size:1.05rem}.contact-ledger-head{padding:16px}.contact-ledger-row{grid-template-columns:23px minmax(0,1fr) 20px;gap:12px;min-height:102px;padding:21px 16px}.contact-ledger-row strong{font-size:1.05rem}.contact-ledger-row small{font-size:.85rem}.contact-discretion{padding:12px 16px 17px;font-size:.65rem}.contact-mail{font-size:clamp(1.4rem,6.2vw,2rem)}.hero-aside .number{font-size:clamp(2.6rem,10vw,3.4rem)}.eyebrow,.tag{letter-spacing:.035em}}
@media(prefers-reduced-motion:reduce){.contact-ledger-row{transition:none}}
