/* Generated by tools/build.mjs from the design. Do not edit by hand. */
@font-face { font-family: 'EB Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/eb-garamond-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'EB Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/eb-garamond-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'EB Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/eb-garamond-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/source-sans-3-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/source-sans-3-latin-600-normal.woff2) format('woff2'); }
:root{--paper:#F7F1E8;--surface:#EFE6D8;--ink:#2B2420;--muted:#6E6258;--rule:#E2D6C4;--terracotta:#B4532A;--terracotta-text:#A2461F;--harbour:#1F4E4A;--brass:#C8A15A;--sage:#6F8F6A;--diagram:#1F4E4A;--bg:var(--paper);--fg:var(--ink);--grey:var(--muted);--line:var(--rule);--tile:var(--surface);--body:clamp(17px,.9rem + .3vw,18px);--pad:clamp(20px,5vw,64px);--sect:clamp(80px,9vw,128px);--mono:'IBM Plex Mono',ui-monospace,monospace}
@media (prefers-color-scheme:dark){:root{--paper:#1E1915;--surface:#2A231E;--ink:#F2E9DC;--muted:#B5A898;--rule:#3A312A;--terracotta-text:#E0895E;--diagram:#8FB8B2}}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[id]{scroll-margin-top:96px}
::selection{background:var(--harbour);color:var(--paper)}
a{color:var(--terracotta-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px;border-radius:2px}
input::placeholder,textarea::placeholder{color:var(--muted)}
.c-wrap{max-width:1200px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.c-sect{padding-top:var(--sect);padding-bottom:var(--sect)}
.c-grid2{display:grid;grid-template-columns:5fr 7fr;gap:40px clamp(40px,6vw,96px)}
.c-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.c-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.c-foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr;gap:32px 24px}
.c-eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--muted)}
.c-h1{font-weight:500;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.08;letter-spacing:-.03em;margin:0;max-width:16em}
.c-h2{font-weight:500;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;margin:0}
.c-h3{font-size:19px;font-weight:500;letter-spacing:-.01em;line-height:1.3;margin:0}
.c-p{font-size:var(--body);line-height:1.55;margin:0;max-width:34em}
.c-small{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.c-tile{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:24px;transition:border-color .15s ease}
.c-tile:hover{border-color:var(--terracotta)}
a.c-tile{text-decoration:none;color:inherit;display:block}
.c-cta{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--terracotta);color:#F7F1E8;text-decoration:none;border-radius:2px;font-size:15px;font-weight:500;border:0;cursor:pointer;font-family:inherit}
.c-cta:hover{opacity:.9}
.c-cta-ghost{background:transparent;color:inherit;border:1px solid currentColor}
.c-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.c-list li{padding:14px 0;border-top:1px solid var(--rule);font-size:var(--body);line-height:1.5}
.c-list li:last-child{border-bottom:1px solid var(--rule)}
.c-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:13px;color:var(--muted);margin:0 0 32px;padding:0;list-style:none}
.c-crumbs a{color:var(--muted);text-decoration:none}
.c-crumbs a:hover{color:var(--ink)}
.c-band{background:var(--harbour);color:#F7F1E8}
.c-band .c-h1,.c-band .c-h2,.c-band .c-h3,.c-band .c-p{color:#F7F1E8}
.c-band .c-small,.c-band .c-eyebrow{color:#B9CBC6}
.c-band a{color:#F7F1E8}
.c-faq{border-top:1px solid var(--rule)}
.c-faq:last-of-type{border-bottom:1px solid var(--rule)}
.c-faq summary{cursor:pointer;list-style:none;padding:18px 0;font-size:var(--body);font-weight:500;display:flex;justify-content:space-between;gap:16px}
.c-faq summary::-webkit-details-marker{display:none}
.c-faq summary::after{content:"+";font-family:var(--mono);color:var(--muted);flex:none}
.c-faq[open] summary::after{content:"–"}
.c-faq .c-p{padding-bottom:20px}
.c-field{display:flex;flex-direction:column;gap:6px}
.c-field label{font-family:var(--mono);font-size:13px;color:var(--muted)}
.c-input{min-height:48px;padding:0 14px;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:2px;box-sizing:border-box;width:100%}
textarea.c-input{min-height:140px;padding:12px 14px;resize:vertical}
.c-table{width:100%;border-collapse:collapse;font-size:15px}
.c-table th{font-family:var(--mono);font-weight:400;font-size:13px;color:var(--muted);text-align:left;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--rule);white-space:nowrap}
.c-table td{padding:14px 16px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5}
.c-illus{display:block;width:100%;height:auto;color:var(--diagram)}
.c-log{font-family:var(--mono);font-size:13.5px;line-height:1.7;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:24px 28px;margin:0;overflow-x:auto;white-space:pre}
[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
.c-nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.c-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.c-nav-links{display:flex;gap:4px;white-space:nowrap}
.c-nav-link{font:inherit;font-size:14px;color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:2px}
.c-nav-link:hover,.c-nav-link[aria-expanded="true"]{color:var(--ink)}
.c-mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.c-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;padding:24px 0 28px}
.c-mega a{display:block;text-decoration:none;color:inherit;padding:12px;border-radius:4px}
.c-mega a:hover{background:var(--surface)}
.c-burger{display:none}
.c-mobile{display:none}
@media (max-width:1000px){.c-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.c-foot{grid-template-columns:1fr 1fr 1fr}.c-nav-links{display:none}.c-burger{display:inline-flex}.c-nav-cta{display:none}.c-mobile{display:block;border-top:1px solid var(--rule);padding:12px 0 24px}.c-mobile a{display:block;padding:12px 0;text-decoration:none;color:var(--ink);font-size:16px}.c-mobile .c-eyebrow{padding:16px 0 4px;margin:0}.c-mega-grid{grid-template-columns:1fr}}
@media (max-width:820px){.c-grid2{grid-template-columns:1fr}.c-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.c-grid3,.c-grid4{grid-template-columns:1fr}.c-foot{grid-template-columns:1fr}.c-table{display:block;overflow-x:auto}}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.c-tile{transition:none}}


  /* Same palette and type as the home page */
  html:root {
    --paper: #FAF9F6; --surface: #F1EFE9; --card: #FFFFFF; --ink: #1D2321; --muted: #5C6461; --rule: #E2DFD7;
    --terracotta: #1F4E4A; --terracotta-text: #1F4E4A; --harbour: #1F4E4A; --brass: #C09F6A; --bronze: #C8A15A; --diagram: #1F4E4A;
    --on-dark: #FAF9F6; --on-dark-muted: #B9CBC6;
    --line: var(--rule);
    --body: clamp(17px, 0.9rem + 0.3vw, 18px); --pad: clamp(20px, 5vw, 64px);
    --serif: 'EB Garamond', 'Iowan Old Style', Georgia, serif;
    --sans: 'Source Sans 3', system-ui, sans-serif;
    --mono: var(--sans);
  }
  @media (prefers-color-scheme: dark) {
    html:root { --paper: #151A19; --surface: #1D2422; --card: #1A201F; --ink: #EEF0EC; --muted: #A9B3AF; --rule: #2C3532; --terracotta: #2E6B65; --terracotta-text: #8FB8B2; --diagram: #8FB8B2; }
  }
  body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-weight: 400; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
  a { color: var(--terracotta-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
  a:hover { text-decoration-thickness: 2px; text-decoration-color: var(--bronze); }
  a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 4px; border-radius: 4px; }
  .c-band a:focus-visible, .c-band button:focus-visible, .c-band input:focus-visible { outline-color: var(--on-dark); }
  .c-eyebrow, .k-eyebrow { font-family: var(--sans); font-weight: 600; font-size: 12px; line-height: 1.3; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
  .c-cta { border-radius: 8px; font-weight: 600; font-family: var(--sans); }
  .c-wrap { max-width: 1200px; margin: 0 auto; padding-left: var(--pad); padding-right: var(--pad); }
  .k-h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.1rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -0.005em; margin: 0; }
  .k-rule { display: block; width: 56px; height: 2px; background: var(--bronze); border: 0; margin: 28px 0 0; }
  .l-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px clamp(40px, 7vw, 104px); align-items: start; }
  .l-menu { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 96px; }
  .l-menu a { font-size: 16px; text-decoration: none; color: var(--muted); padding: 8px 0 8px 14px; border-left: 2px solid var(--line); }
  .l-menu a:hover { color: var(--ink); }
  .l-menu a[aria-current="page"] { color: var(--ink); font-weight: 600; border-left-color: var(--bronze); }
  .l-doc { max-width: 40em; }
  .l-doc section { padding: 28px 0; border-top: 1px solid var(--line); }
  .l-doc section:first-child { padding-top: 0; border-top: 0; }
  .l-doc h2 { font-family: var(--sans); font-weight: 600; font-size: 19px; line-height: 1.3; margin: 0 0 10px; }
  .l-doc p { font-size: var(--body); line-height: 1.65; margin: 0; }
  @media (max-width: 820px) {
    .l-body { grid-template-columns: 1fr; }
    .l-menu { position: static; }
  }


  @media (max-width: 1040px) {
    .c-nav-links { display: none; } .c-burger { display: inline-flex; } .c-nav-cta { display: none; }
    .c-mobile { display: block; border-top: 1px solid var(--rule); padding: 12px 0 24px; }
    .c-mobile a { display: block; padding: 12px 0; text-decoration: none; color: var(--ink); font-size: 16px; }
  }


  /* A light footer, so it reads as separate from the dark contact band above it */
  .k-foot { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) minmax(0, 0.8fr); gap: 40px clamp(32px, 5vw, 72px); }
  .k-foot-link { display: inline-flex; align-items: center; align-self: flex-start; min-height: 32px; font-size: 15px; color: var(--ink); text-decoration: none; }
  .k-foot-link:hover { text-decoration: underline; }
  @media (max-width: 820px) { .k-foot { grid-template-columns: 1fr; } }
