/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0She1YmV.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0She1YmV.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0She1YmV.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jizHRFtNs2ka5fXjeivQ4LroWlx-6zAjgn7MsNo.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jizHRFtNs2ka5fXjeivQ4LroWlx-6zAjjH7M.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jizBRFtNs2ka5fXjeivQ4LroWlx-6zsTjmbI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jizBRFtNs2ka5fXjeivQ4LroWlx-6zUTjg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --paper:#FBFAF7; --ink:#0E0E0E; --accent:#1B34E0; --muted:#6D6D6D;
  --faint:#E4E1D8;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
  line-height:1.55;-webkit-font-smoothing:antialiased;font-size:17px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 48px}

/* masthead */
#nav{border-bottom:2px solid var(--ink);position:sticky;top:0;background:var(--paper);z-index:10}
.nav-in{display:flex;justify-content:space-between;align-items:center;height:66px}
.mark{font-weight:600;font-size:16px;letter-spacing:.22em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px}
.avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;display:block;
  border:1px solid var(--faint)}
.f-brand .avatar{width:32px;height:32px}
.nav-links{display:flex;gap:24px;font-size:14px;color:var(--muted)}
.nav-links a:hover{color:var(--ink)}
.nav-links a.nav-cta{color:var(--accent);font-weight:600}

/* labels */
.label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.label.accent{color:var(--accent);font-weight:600}

/* hero */
.hero{border-bottom:2px solid var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr}
.hero-l{padding:64px 52px 60px 0;border-right:2px solid var(--ink)}
.hero-r{padding:64px 0 60px 52px;display:flex;flex-direction:column;justify-content:space-between;gap:44px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8.5vw,116px);line-height:.9;
  letter-spacing:-.01em;margin-top:24px}
h1 .it{font-style:italic}
.stand{margin-top:30px;font-size:20px;line-height:1.5;max-width:42ch;color:#2b2b2b}
.index-list{font-size:15px;line-height:1.7}
.index-list .h{color:var(--ink);font-weight:600}
.index-list span.d{color:var(--muted)}
.now p{margin-top:10px;font-size:15px;line-height:1.5;color:#3a3a3a;max-width:34ch}
.now .label{margin-bottom:2px}
.pull{font-family:var(--serif);font-style:italic;font-size:30px;line-height:1.12}
.hero-cta{margin-top:22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-family:var(--sans);
  font-size:15px;padding:13px 22px;border:0;cursor:pointer}
.btn:hover{background:#132AB8}
.btn-note{font-size:14px;color:var(--muted)}

/* generic section */
.section{padding:72px 0;border-bottom:2px solid var(--ink)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,60px);line-height:1;letter-spacing:-.01em}
h2 .it{font-style:italic}
.body-lg{margin-top:22px;font-size:20px;line-height:1.55;max-width:60ch;color:#2b2b2b}
.two{display:grid;grid-template-columns:190px 1fr;gap:40px}
.two .label{padding-top:10px}
.machine-fig{margin-top:52px}
.machine-fig img{display:block;width:100%;height:auto;border:1px solid rgba(14,14,14,.12)}
.machine-fig figcaption{margin-top:16px;font-family:var(--serif);font-style:italic;font-size:20px;color:#4a4a4a}

/* the index (work) */
.index .row{display:grid;grid-template-columns:64px 1fr auto;gap:28px;align-items:baseline;
  padding:30px 0;border-top:1px solid var(--faint)}
.index .row:first-of-type{border-top:0}
.index .num{font-family:var(--serif);font-size:34px;color:var(--muted)}
.index .row h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1}
.index .row p{margin-top:8px;color:#3a3a3a;font-size:16px;max-width:64ch}
.index .row .go{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.index .row.dim .go{color:var(--muted)}
.index code{font-family:var(--serif);font-style:italic;font-size:18px}
.index .idx-services{margin-top:52px;margin-bottom:4px}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.door{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--faint);
  padding:36px;text-decoration:none;color:inherit;transition:border-color .18s ease}
.door:hover{border-color:var(--ink)}
.door-k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.door h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1;margin-bottom:12px;transition:color .16s ease}
.door:hover h3{color:var(--accent)}
.door p{color:#3a3a3a;font-size:16px;line-height:1.6;margin-bottom:22px}
.door .go{margin-top:auto;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.door .go .arw{display:inline-block;transition:transform .18s ease}
.door:hover .go .arw{transform:translate(3px,-3px)}
@media (max-width:820px){.doors{grid-template-columns:1fr}}
.reel{display:block;width:100%;max-width:520px;height:auto;margin:40px auto 0;
  border:1px solid var(--faint);background:#0B0D12}
.reel-cap{margin:14px auto 0;max-width:520px;text-align:center;font-size:14px;color:var(--muted)}

/* from the field notes */
.fnt-list{margin-top:26px;columns:2;column-gap:44px}
.fnt-list a{display:block;font-family:var(--serif);font-size:22px;line-height:1.28;padding:9px 0;
  border-bottom:1px solid var(--faint);color:var(--ink);break-inside:avoid}
.fnt-list a:hover{color:var(--accent)}

/* audit */
.audit-form{margin-top:32px;display:flex;gap:24px;flex-wrap:wrap;max-width:660px;align-items:end}
.field{flex:1;min-width:220px}
.field label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input{width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--ink);
  padding:8px 0;color:var(--ink);font-family:var(--sans);font-size:17px}
.field input::placeholder{color:#a8a29a}
.field input:focus{outline:0;border-color:var(--accent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
.ma-link{margin-top:16px;font-size:15px}
.ma-link a{color:var(--accent)}
.ma-link a:hover{text-decoration:underline}
.audit-status{margin-top:16px;font-size:15px;min-height:20px}
.audit-status.ok{color:var(--accent)}
.audit-status.err{color:#B0281B}
.form-consent{margin-top:14px;font-size:13px;color:var(--muted);max-width:660px;line-height:1.5}
.form-consent a{color:var(--accent)}
.form-consent a:hover{text-decoration:underline}

/* footer */
main .section:last-of-type{border-bottom:0}
#footer{border-top:2px solid var(--ink);padding:56px 0 40px}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:40px}
.f-brand .mark{font-weight:600;font-size:16px;letter-spacing:.22em;text-transform:uppercase}
.f-tag{margin-top:14px;font-size:15px;line-height:1.5;color:var(--muted);max-width:34ch}
.f-col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.f-h{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.f-col a{color:var(--ink);width:fit-content}
.f-col a:hover{color:var(--accent)}
.footer-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:46px;padding-top:22px;border-top:1px solid var(--faint);font-size:13px;color:var(--muted)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* paper grain */
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* micro-interactions */
.btn{transition:background .16s ease, transform .16s ease}
.btn:hover{transform:translateY(-1px)}
.nav-links a,.f-col a,.fnt-list a,.index .row h3,.index .row .go{transition:color .16s ease}
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;height:1.5px;width:0;background:currentColor;transition:width .2s ease}
.nav-links a:hover::after{width:100%}
.nav-links a.nav-cta::after{background:var(--accent)}
.index .row{transition:padding-left .18s ease}
.index .row:hover{padding-left:8px}
.index .row:hover h3{color:var(--accent)}
.index .row .go .arw{display:inline-block;transition:transform .18s ease}
.index .row:hover .go .arw{transform:translate(3px,-3px)}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}

/* legal pages */
.legal{max-width:760px}
.legal .lead{margin-top:20px;font-size:20px;line-height:1.5;color:#2b2b2b}
.legal h2{font-size:clamp(24px,3vw,32px);margin:44px 0 0}
.legal h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:30px 0 0}
.legal p{margin-top:14px;font-size:17px;line-height:1.62;color:#2b2b2b}
.legal ul{margin:14px 0 0 22px}
.legal li{margin-top:8px;font-size:17px;line-height:1.55;color:#2b2b2b}
.legal a{color:var(--accent)}
.legal .meta{margin-top:10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* 404 */
.nf{min-height:64vh;display:flex;flex-direction:column;justify-content:center;padding:80px 0}
.nf h1{font-size:clamp(64px,12vw,150px)}
.nf p{margin-top:20px;font-size:20px;color:#2b2b2b;max-width:44ch}
.nf .fn-cta{margin-top:34px}

/* field notes page */
.fn-head{padding:70px 0 34px;border-bottom:2px solid var(--ink)}
.fn-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,104px);line-height:.92;
  letter-spacing:-.01em;max-width:16ch;overflow-wrap:break-word}
.fn-byline{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:24px;color:#3a3a3a}
.fn-entry{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:38px 0;border-bottom:1px solid var(--faint)}
.fn-entry .n{font-family:var(--serif);font-size:34px;color:var(--muted)}
.fn-entry h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,38px);line-height:1;overflow-wrap:break-word}
.fn-entry p{margin-top:12px;font-size:18px;line-height:1.55;max-width:64ch;color:#2b2b2b}
.fn-entry code{font-family:var(--serif);font-style:italic;font-size:18px}
.fn-close{padding:52px 0}
.fn-close p{font-family:var(--serif);font-style:italic;font-size:24px;max-width:42ch}
.fn-cta{margin-top:26px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.fn-back{font-size:14px;color:var(--muted)}

/* responsive */
@media (max-width:820px){
  .wrap{padding:0 24px}
  .hero-grid{grid-template-columns:1fr}
  .hero-l{border-right:0;border-bottom:2px solid var(--ink);padding:48px 0 40px}
  .hero-r{padding:40px 0}
  .two{grid-template-columns:1fr;gap:14px}
  .fnt-list{columns:1}
  .nav-links a:not(.nav-cta){display:none}
  .index .row{grid-template-columns:40px 1fr;gap:16px}
  .index .row .go{grid-column:2;margin-top:6px}
  .index .row:hover{padding-left:0}
  .fn-entry{grid-template-columns:1fr;gap:6px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .f-brand{grid-column:1 / -1}
  .footer-base{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* former inline styles, moved to classes for a strict CSP */
.label.gap{margin-top:26px}
.index .two{margin-bottom:34px}
.fn-head .meta{margin-top:18px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* memory audit lead-magnet page */
.lm-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.lm-left{padding-top:6px}
.lm-h1{font-size:clamp(44px,6vw,74px)}
.lm-list{margin:24px 0 0;padding:0;list-style:none;max-width:52ch}
.lm-list li{position:relative;padding:11px 0 11px 26px;border-top:1px solid var(--faint);font-size:16px;color:#2b2b2b}
.lm-list li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:9px;background:var(--accent);border-radius:50%}
.lm-form{margin-top:32px;max-width:470px}
.lm-form .field{margin-bottom:18px}
.lm-cta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.lm-preview{border:1px solid rgba(14,14,14,.12);box-shadow:0 2px 34px rgba(14,14,14,.07);display:block;width:100%}
.lm-deliver{margin-top:8px;background:var(--ink);color:var(--paper);padding:26px}
.lm-deliver h2{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--paper);margin-bottom:10px}
.lm-deliver p{color:#D6D2C7;font-size:16px;line-height:1.5;max-width:52ch}
.lm-deliver .dl{margin-top:18px;display:inline-block;background:var(--accent);color:#fff;font-weight:600;padding:13px 22px;font-size:15px}
.lm-deliver .dl:hover{background:#132AB8}
.lm-deliver .book{margin-left:18px;color:#8FA0FF;font-size:15px}
@media (max-width:820px){
  .lm-grid{grid-template-columns:1fr;gap:32px}
  .lm-preview{max-width:440px}
}

.wp-read{color:var(--accent);font-weight:600;font-size:15px}
.wp-read:hover{text-decoration:underline}
