/* CloudScale Forge - GENERATED from the Claude Design exports in
   'CloudScale Forge (standalone site)/'. Do not hand-edit; a
   regeneration overwrites this file.
     python3 tools/emit.py     (see tools/README.md) */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; scroll-behavior: smooth; color-scheme: dark; overflow-x: hidden; }
body { margin: 0; background: #0B1618; color: #EDF1EF; font-family: Inter, system-ui, Helvetica, sans-serif; }
a { color: #EDF1EF; text-decoration: none; }
a:hover { color: #CBA45E; }
h1, h2, h3, h4 { margin: 0; font-family: Archivo, system-ui, Helvetica, sans-serif; }
::selection { background: #CBA45E; color: #0B1618; }
@media (max-width: 820px) { [data-hide-sm] { display: none !important; } }
@media (min-width: 1020px) { [data-layout="rail"] { grid-template-columns: 220px minmax(0, 1fr) !important; } [data-rail] { display: block !important; } }
@media (min-width: 900px) { [data-mosaic] { grid-template-columns: 1.15fr 1fr 1fr !important; grid-template-areas: "a b c" "a d e" !important; } [data-cell="a"] { grid-area: a; } [data-cell="b"] { grid-area: b; } [data-cell="c"] { grid-area: c; } [data-cell="d"] { grid-area: d; } [data-cell="e"] { grid-area: e; } }
/* index.html only */
body.p-home p { margin: 0; text-wrap: pretty; }
@keyframes csf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* services.html only */
body.p-services p, body.p-services dd, body.p-services dt { margin: 0; text-wrap: pretty; }
body.p-services dl { margin: 0; }
body.p-services [id] { scroll-margin-top: 96px; }
/* how-it-works.html only */
body.p-how p { margin: 0; text-wrap: pretty; }
body.p-how ul { margin: 0; padding: 0; list-style: none; }
body.p-how [id] { scroll-margin-top: 96px; }
/* about.html only */
body.p-about p { margin: 0; text-wrap: pretty; }
body.p-about ul { margin: 0; padding: 0; list-style: none; }
body.p-about [id] { scroll-margin-top: 96px; }
/* case-studies.html only */
body.p-cases p { margin: 0; text-wrap: pretty; }
body.p-cases ul { margin: 0; padding: 0; list-style: none; }
body.p-cases [id] { scroll-margin-top: 132px; }

/* --- transcribed inline styles --- */
.c001f20a.c001f20a { flex:1; height:1px; background:rgba(237,241,239,0.13); }
.c00857fc.c00857fc { margin-top:8px; font-size:14.4px; line-height:1.68; color:#93A5A2; }
.c00bb868.c00bb868 { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px) clamp(64px,9vw,110px); display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(28px,4vw,48px); }
.c01f7633.c01f7633 { display:flex; align-items:center; gap:11px; }
.c024ce05.c024ce05 { margin-top:clamp(30px,4vw,48px); display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:12px; }
.c027f0f0.c027f0f0 { background:#0E1B1D; border-top:1px solid rgba(237,241,239,0.13); border-bottom:1px solid rgba(237,241,239,0.13); }
.c038974e.c038974e { margin-top:clamp(28px,4vw,44px); display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; }
.c06b2e18.c06b2e18 { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px); height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.c07a1b94.c07a1b94 { margin-top:14px; font-size:clamp(26px,3.2vw,40px); font-weight:700; line-height:1.08; letter-spacing:-0.03em; max-width:22ch; }
.c0823c7b.c0823c7b { font-size:14px; font-weight:500; color:#93A5A2; }
.c0a01883.c0a01883.c0a01883:hover { border-color:#CBA45E; }
.c0a0ef51.c0a0ef51.c0a0ef51:hover { background:#0E1B1D; border-color:rgba(203,164,94,0.42); transform:translateY(-2px); }
.c0b967bc.c0b967bc { position:absolute; top:-220px; left:44%; transform:translateX(-50%); width:900px; height:560px; background:radial-gradient(ellipse at center, rgba(203,164,94,0.10) 0%, rgba(203,164,94,0) 70%); pointer-events:none; }
.c0c03b5a.c0c03b5a { font-size:clamp(42px,7.6vw,104px); font-weight:700; line-height:0.96; letter-spacing:-0.035em; max-width:15ch; }
.c0c96a74.c0c96a74 { margin-top:18px; display:flex; flex-direction:column; gap:14px; }
.c0de1dac.c0de1dac { margin-top:clamp(26px,3.4vw,40px); display:flex; flex-wrap:wrap; gap:10px; }
.c0e01c31.c0e01c31 { margin-top:clamp(28px,3.6vw,44px); border:1px solid rgba(237,241,239,0.13); border-left:2px solid #CBA45E; border-radius:8px; padding:clamp(24px,3vw,34px); background:rgba(14,27,29,0.42); }
.c0e0f783.c0e0f783.c0e0f783:hover { color:#EDF1EF; }
.c0e2564a.c0e2564a { font-size:clamp(19px,1.7vw,22px); font-weight:600; letter-spacing:-0.022em; }
.c0ea56db.c0ea56db { font-family:Archivo,sans-serif; font-size:clamp(20px,2.6vw,34px); font-weight:600; letter-spacing:-0.025em; border-bottom:2px solid #CBA45E; padding-bottom:4px; overflow-wrap:anywhere; }
.c0f9e4b4.c0f9e4b4 { margin-top:14px; font-size:clamp(28px,3.6vw,46px); font-weight:700; line-height:1.06; letter-spacing:-0.03em; max-width:20ch; }
.c1033088.c1033088 { border-top:1px solid rgba(237,241,239,0.13); }
.c114d0bf.c114d0bf { position:relative; max-width:1200px; margin:0 auto; padding:clamp(56px,9vw,116px) clamp(20px,4vw,40px) clamp(40px,6vw,64px); }
.c1174468.c1174468 { display:flex; width:max-content; animation:csf-marquee 46s linear infinite; }
.c11de392.c11de392 { max-width:1200px; margin:0 auto; padding:clamp(56px,8vw,100px) clamp(20px,4vw,40px); display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:clamp(28px,4vw,64px); align-items:start; }
.c129c764.c129c764 { position:sticky; top:96px; align-self:start; max-height:calc(100vh - 96px - 24px); overflow-y:auto; display:none; }
.c12b29f7.c12b29f7 { display:flex; flex-wrap:wrap; gap:12px 26px; font-size:14px; }
.c13724a0.c13724a0.c13724a0:hover { border-color:rgba(203,164,94,0.42); }
.c15fd6ae.c15fd6ae { margin-top:clamp(28px,4vw,44px); display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(28px,4vw,48px); }
.c17e218c.c17e218c.c17e218c:hover { border-color:rgba(203,164,94,0.42); background:rgba(203,164,94,0.06); color:#EDF1EF; }
.c18bc897.c18bc897 { padding:6px 11px; border:1px solid rgba(237,241,239,0.13); border-radius:999px; font-size:12.5px; color:#93A5A2; }
.c18fb10e.c18fb10e { border:1px dashed rgba(203,164,94,0.42); border-radius:10px; padding:clamp(24px,3vw,36px); background:rgba(14,27,29,0.42); }
.c1a0c245.c1a0c245 { margin-top:10px; font-size:14.5px; line-height:1.66; color:#93A5A2; }
.c1b5b77d.c1b5b77d { margin-top:14px; max-width:22ch; font-size:clamp(30px,4.2vw,54px); font-weight:700; line-height:1.06; letter-spacing:-0.03em; }
.c1b99a13.c1b99a13 { margin-top:clamp(26px,3.4vw,40px); display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:2px 28px; }
.c1b9e50e.c1b9e50e { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.c1bd140b.c1bd140b { border:1px solid rgba(237,241,239,0.13); border-radius:10px; background:rgba(14,27,29,0.42); padding:clamp(22px,2.8vw,36px); transition:border-color .2s ease; }
.c1bf357b.c1bf357b { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#5E706E; }
.c1ccc734.c1ccc734 { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:clamp(36px,5vw,60px); }
.c1da69b8.c1da69b8 { padding:16px 0; border-top:1px solid rgba(237,241,239,0.13); display:flex; gap:12px; align-items:flex-start; }
.c1de9bbf.c1de9bbf { font-size:15.5px; font-weight:600; letter-spacing:-0.015em; }
.c1e0bb05.c1e0bb05 { display:flex; flex-direction:column; gap:12px; }
.c1f894ca.c1f894ca { font-size:14px; font-weight:500; color:#93A5A2; white-space:nowrap; }
.c1ffb7df.c1ffb7df { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px) clamp(56px,8vw,96px); }
.c20fb6f6.c20fb6f6 { max-width:1200px; margin:0 auto; padding:clamp(40px,6vw,90px) clamp(20px,4vw,40px) clamp(64px,9vw,120px); }
.c223dfc8.c223dfc8 { display:inline-flex; align-items:center; gap:9px; height:40px; padding:0 16px; background:transparent; color:#93A5A2; border:1px solid rgba(237,241,239,0.13); border-radius:6px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer; transition:border-color .18s ease, color .18s ease; }
.c22de130.c22de130 { font-family:Archivo,sans-serif; font-size:clamp(20px,2.4vw,32px); font-weight:600; letter-spacing:-0.025em; border-bottom:2px solid #CBA45E; padding-bottom:4px; overflow-wrap:anywhere; }
.c231208f.c231208f { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px); }
.c235b24a.c235b24a { margin-top:24px; max-width:56ch; font-size:clamp(16px,1.3vw,18px); line-height:1.7; color:#93A5A2; }
.c236d0bf.c236d0bf { max-width:60ch; font-size:14.6px; line-height:1.72; color:#5E706E; font-style:italic; }
.c23ead74.c23ead74 { position:relative; max-width:1200px; margin:0 auto; padding:clamp(48px,7vw,88px) clamp(20px,4vw,40px) clamp(30px,4vw,48px); }
.c23f6eb8.c23f6eb8 { display:flex; flex-direction:column; gap:14px; border:1px solid rgba(203,164,94,0.32); border-radius:10px; padding:clamp(24px,2.8vw,34px); background:linear-gradient(160deg, rgba(203,164,94,0.09), rgba(11,22,24,0.5) 62%); transition:border-color .2s ease; }
.c24c974d.c24c974d { margin-top:14px; font-size:clamp(28px,3.8vw,48px); font-weight:700; line-height:1.06; letter-spacing:-0.03em; max-width:24ch; }
.c2516cbd.c2516cbd { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px) clamp(56px,8vw,100px); }
.c267f0e2.c267f0e2 { display:flex; gap:10px; padding-right:10px; }
.c2b57f05.c2b57f05 { margin-top:16px; max-width:56ch; font-size:15.2px; line-height:1.72; color:#93A5A2; }
.c2bfb23d.c2bfb23d { font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:#CBA45E; }
.c2e99049.c2e99049 { display:flex; flex-direction:column; gap:12px; align-content:start; }
.c2f2ef30.c2f2ef30 { position:sticky; top:0; z-index:50; background:rgba(11,22,24,0.86); backdrop-filter:blur(14px); border-bottom:1px solid rgba(237,241,239,0.13); }
.c2faf7ac.c2faf7ac.c2faf7ac:hover { border-color:rgba(203,164,94,0.42); color:#EDF1EF; }
.c34160fb.c34160fb { height:100%; background:linear-gradient(90deg,#9C7B3C,#CBA45E); width:0%; }
.c3584d31.c3584d31 { max-width:1200px; margin:0 auto; padding:11px clamp(20px,4vw,40px); display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; }
.c36d9f4a.c36d9f4a { margin-top:30px; }
.c3776b5e.c3776b5e { max-width:1200px; margin:0 auto; padding:clamp(64px,9vw,116px) clamp(20px,4vw,40px); }
.c38b66c0.c38b66c0 { font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#5E706E; }
.c3d50850.c3d50850 { max-width:1200px; margin:0 auto; padding:clamp(30px,4vw,44px) clamp(20px,4vw,40px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 32px; }
.c3d7f39a.c3d7f39a { aspect-ratio:4 / 3; border:1px dashed rgba(237,241,239,0.18); border-radius:8px; background:repeating-linear-gradient(135deg, rgba(237,241,239,0.045) 0 8px, rgba(237,241,239,0) 8px 16px); display:grid; place-items:center; padding:18px; text-align:center; }
.c3f53ddc.c3f53ddc { background:#132325; border-bottom:1px solid rgba(203,164,94,0.42); }
.c416fb6a.c416fb6a { position:absolute; top:-240px; left:40%; transform:translateX(-50%); width:820px; height:520px; background:radial-gradient(ellipse at center, rgba(203,164,94,0.09) 0%, rgba(203,164,94,0) 70%); pointer-events:none; }
.c41d545d.c41d545d { display:flex; flex-direction:column; gap:2px; }
.c421f12a.c421f12a { margin-top:16px; font-size:clamp(20px,2vw,27px); font-weight:700; line-height:1.18; letter-spacing:-0.026em; max-width:20ch; }
.c4369847.c4369847 { margin-top:14px; font-size:clamp(18px,1.5vw,21px); font-weight:600; line-height:1.24; letter-spacing:-0.022em; max-width:22ch; }
.c456943c.c456943c { width:6px; height:6px; border-radius:50%; background:#CBA45E; }
.c4bfc6e9.c4bfc6e9 { margin-top:14px; font-size:clamp(28px,3.8vw,48px); font-weight:700; line-height:1.06; letter-spacing:-0.03em; max-width:22ch; }
.c4d1eb52.c4d1eb52 { position:relative; }
.c4e04bfe.c4e04bfe { background:#0E1B1D; border-top:1px solid rgba(237,241,239,0.13); }
.c4fb23a4.c4fb23a4 { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.c500f411.c500f411 { padding:clamp(22px,2.4vw,28px); border:1px solid rgba(237,241,239,0.13); border-left:2px solid #CBA45E; border-radius:8px; background:rgba(11,22,24,0.45); }
.c5172626.c5172626 { align-self:center; max-width:58ch; font-size:15.1px; line-height:1.74; color:#93A5A2; }
.c524d6db.c524d6db { font-family:Archivo,sans-serif; font-size:16.5px; font-weight:700; letter-spacing:-0.028em; }
.c52e283d.c52e283d { display:flex; align-items:baseline; gap:10px; padding:9px 12px; border-radius:6px; border-left:2px solid #CBA45E; background:rgba(203,164,94,0.08); color:#EDF1EF; }
.c53bd1e5.c53bd1e5 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:#5E706E; line-height:1.7; }
.c53e988b.c53e988b { margin-top:12px; max-width:66ch; font-size:15.3px; line-height:1.74; color:#93A5A2; }
.c54854dc.c54854dc { font-size:13.5px; font-weight:500; line-height:1.35; }
.c55fef56.c55fef56 { margin-top:14px; font-size:clamp(26px,3.4vw,42px); font-weight:700; line-height:1.08; letter-spacing:-0.03em; max-width:24ch; }
.c56e9bd3.c56e9bd3 { margin-top:20px; font-size:clamp(34px,5.2vw,68px); font-weight:700; line-height:1.02; letter-spacing:-0.035em; max-width:20ch; }
.c59aa37f.c59aa37f { color:#CBA45E; }
.c5bcb39d.c5bcb39d { margin-top:14px; max-width:48ch; font-size:15.4px; line-height:1.7; color:#93A5A2; }
.c5bddb62.c5bddb62.c5bddb62:hover { background:#fff; transform:translateY(-2px); }
.c5c82f97.c5c82f97 { background:#0B1618; border-bottom:1px solid rgba(237,241,239,0.13); }
.c5e60deb.c5e60deb { margin-top:18px; max-width:20ch; font-size:clamp(32px,5.4vw,72px); font-weight:700; line-height:1; letter-spacing:-0.035em; }
.c5f139bf.c5f139bf { max-width:1200px; margin:0 auto; padding:clamp(48px,7vw,88px) clamp(20px,4vw,40px); }
.c5f5f9e2.c5f5f9e2 { font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:#5E706E; margin-bottom:14px; }
.c606bd06.c606bd06 { max-width:42ch; font-size:15.5px; line-height:1.72; color:#93A5A2; }
.c6070369.c6070369 { position:relative; overflow:hidden; mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
.c62f2b1c.c62f2b1c { margin-top:14px; max-width:22ch; font-size:clamp(26px,3.6vw,44px); font-weight:700; line-height:1.06; letter-spacing:-0.03em; }
.c63cc8d5.c63cc8d5 { max-width:1200px; margin:0 auto; padding:clamp(64px,9vw,120px) clamp(20px,4vw,40px); }
.c63dd10b.c63dd10b { display:flex; align-items:center; gap:14px; }
.c63f3aa1.c63f3aa1 { display:inline-flex; align-items:center; gap:8px; padding:5px 11px; border:1px solid rgba(203,164,94,0.42); border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:#CBA45E; }
.c65bb19c.c65bb19c { border:1px solid rgba(237,241,239,0.13); border-radius:8px; padding:16px 18px; background:rgba(11,22,24,0.5); }
.c663bd80.c663bd80 { margin-top:auto; font-size:15.4px; line-height:1.74; color:#93A5A2; max-width:32ch; }
.c663f519.c663f519 { margin-top:clamp(38px,5vw,56px); }
.c6890de2.c6890de2 { margin-top:8px; max-width:56ch; font-size:15.1px; line-height:1.74; color:#93A5A2; }
.c68a2367.c68a2367 { margin-top:clamp(28px,4vw,44px); display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.c6902e75.c6902e75 { margin-top:14px; font-size:clamp(20px,1.7vw,23px); font-weight:600; line-height:1.22; letter-spacing:-0.022em; max-width:18ch; }
.c6a60737.c6a60737 { font-size:14px; font-weight:500; color:#EDF1EF; padding-bottom:2px; border-bottom:1px solid #CBA45E; }
.c6c70bda.c6c70bda { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:clamp(28px,5vw,64px); margin-top:clamp(30px,4.5vw,52px); }
.c6ca7f3f.c6ca7f3f { position:sticky; top:0; z-index:60; }
.c6cb78ef.c6cb78ef { margin-top:10px; font-size:14.6px; line-height:1.7; color:#93A5A2; }
.c6d5c6e4.c6d5c6e4 { max-width:1200px; margin:0 auto; padding:clamp(26px,3.4vw,40px) clamp(20px,4vw,40px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 28px; }
.c7260793.c7260793 { position:sticky; top:150px; align-self:start; max-height:calc(100vh - 150px - 24px); overflow-y:auto; display:none; }
.c728353d.c728353d { margin-top:12px; max-width:66ch; font-size:15.2px; line-height:1.72; color:#93A5A2; }
.c72a562e.c72a562e { position:fixed; top:0; left:0; right:0; height:2px; z-index:60; background:rgba(237,241,239,0.06); }
.c72dedf5.c72dedf5 { width:6px; height:6px; border-radius:50%; background:#5E706E; }
.c74fbb79.c74fbb79 { max-width:52ch; font-size:clamp(16px,1.35vw,18.5px); line-height:1.7; color:#93A5A2; }
.c75a821f.c75a821f { margin-top:clamp(26px,3vw,38px); font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#5E706E; }
.c772f5f5.c772f5f5 { max-width:1200px; margin:0 auto; padding:clamp(72px,10vw,140px) clamp(20px,4vw,40px); }
.c7832129.c7832129 { display:flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:#CBA45E; }
.c7a4c7c0.c7a4c7c0 { margin-top:7px; font-size:14.3px; line-height:1.6; color:#93A5A2; }
.c7a91dc0.c7a91dc0 { display:inline-flex; align-items:center; height:52px; padding:0 28px; background:#EDF1EF; color:#0B1618; border-radius:6px; font-size:15px; font-weight:600; transition:transform .18s ease, background .18s ease; }
.c7ac69bb.c7ac69bb { margin-top:18px; padding-top:16px; border-top:1px solid rgba(237,241,239,0.13); font-family:'IBM Plex Mono',monospace; font-size:10.5px; line-height:1.7; letter-spacing:0.06em; color:#5E706E; }
.c7b4ab38.c7b4ab38 { display:grid; place-items:center; width:32px; height:32px; background:#CBA45E; color:#0B1618; border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:500; letter-spacing:0.04em; }
.c7bf5930.c7bf5930 { margin-top:18px; max-width:20ch; font-size:clamp(34px,6vw,80px); font-weight:700; line-height:1; letter-spacing:-0.035em; }
.c7c320f6.c7c320f6 { flex:1; height:1px; background:rgba(237,241,239,0.13); max-width:120px; }
.c7c51190.c7c51190 { display:flex; flex-direction:column; gap:14px; border:1px solid rgba(237,241,239,0.13); border-radius:10px; padding:clamp(20px,2.2vw,26px); background:rgba(11,22,24,0.45); transition:border-color .2s ease; }
.c7db5bad.c7db5bad { display:flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:#CBA45E; margin-bottom:clamp(24px,4vw,40px); }
.c7e0ee3b.c7e0ee3b.c7e0ee3b:hover { border-color:rgba(203,164,94,0.42); background:#0E1B1D; }
.c8072536.c8072536 { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:#5E706E; }
.c82d0963.c82d0963 { display:flex; flex-direction:column; gap:14px; max-width:74ch; }
.c841ec59.c841ec59 { margin-top:20px; font-size:clamp(36px,5.6vw,72px); font-weight:700; line-height:1; letter-spacing:-0.035em; max-width:17ch; }
.c8707cc4.c8707cc4 { margin-top:16px; font-size:clamp(21px,2.1vw,29px); font-weight:700; line-height:1.16; letter-spacing:-0.028em; max-width:24ch; }
.c8857267.c8857267 { font-size:clamp(22px,2.2vw,30px); font-weight:700; letter-spacing:-0.028em; line-height:1.14; max-width:14ch; }
.c889f7c2.c889f7c2 { border:1px solid rgba(237,241,239,0.13); border-radius:10px; background:rgba(14,27,29,0.42); padding:clamp(22px,2.8vw,34px); display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:clamp(18px,2.6vw,40px); transition:border-color .2s ease; }
.c8c0c57f.c8c0c57f { border:1px solid rgba(237,241,239,0.13); border-radius:10px; background:rgba(14,27,29,0.42); padding:clamp(24px,3vw,38px); display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:clamp(22px,3vw,44px); transition:border-color .2s ease; }
.c8d00d6c.c8d00d6c { margin-top:auto; padding-top:18px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#5E706E; }
.c8dcac24.c8dcac24 { font-size:17px; font-weight:600; letter-spacing:-0.02em; line-height:1.26; }
.c8e233d6.c8e233d6 { flex:none; display:flex; align-items:center; gap:9px; padding:11px 16px; border:1px solid rgba(237,241,239,0.13); border-radius:8px; background:rgba(14,27,29,0.5); transition:border-color .2s ease, background .2s ease; }
.c8f17054.c8f17054 { margin-top:14px; padding-top:12px; border-top:1px solid rgba(237,241,239,0.13); font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:#5E706E; }
.c91d2f3d.c91d2f3d { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.14em; color:#9C7B3C; }
.c93e01b2.c93e01b2 { padding:5px 11px; border:1px solid rgba(203,164,94,0.28); border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:#CBA45E; }
.c94fda27.c94fda27 { width:26px; height:1px; background:#9C7B3C; }
.c96416ae.c96416ae { font-style:normal; color:#CBA45E; }
.c96da20e.c96da20e { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px) clamp(56px,8vw,96px); display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(28px,4vw,48px); }
.c9a5e00b.c9a5e00b { position:relative; max-width:1200px; margin:0 auto; padding:clamp(48px,7vw,88px) clamp(20px,4vw,40px) clamp(28px,4vw,44px); }
.c9cd636b.c9cd636b { font-family:Archivo,sans-serif; font-size:17px; font-weight:500; color:#CBA45E; border-bottom:1px solid rgba(203,164,94,0.42); padding-bottom:3px; }
.c9d615a0.c9d615a0 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; opacity:0.8; }
.c9fa2663.c9fa2663 { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.c9fd856f.c9fd856f { font-size:clamp(22px,2.2vw,30px); font-weight:700; line-height:1.14; letter-spacing:-0.028em; max-width:20ch; }
.ca1b1f8a.ca1b1f8a { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:12px; }
.ca1f2164.ca1f2164 { max-width:70ch; font-size:15px; line-height:1.7; color:#93A5A2; }
.ca254c93.ca254c93 { font-size:15.6px; line-height:1.78; color:#93A5A2; }
.ca2f417b.ca2f417b { padding:5px 11px; border:1px solid rgba(237,241,239,0.13); border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:#5E706E; }
.ca3304f4.ca3304f4 { max-width:1200px; margin:0 auto; padding:clamp(56px,8vw,100px) clamp(20px,4vw,40px); }
.ca4034bd.ca4034bd { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:#9C7B3C; }
.ca6830a0.ca6830a0 { margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:#5E706E; }
.ca84b45b.ca84b45b { padding:clamp(20px,2.2vw,26px); border:1px solid rgba(237,241,239,0.13); border-radius:8px; background:rgba(11,22,24,0.45); transition:border-color .2s ease; }
.ca8b0230.ca8b0230 { margin-top:20px; font-size:clamp(34px,5.4vw,70px); font-weight:700; line-height:1.02; letter-spacing:-0.035em; max-width:19ch; }
.ca9b7f33.ca9b7f33 { color:#5E706E; }
.caaa95eb.caaa95eb { display:inline-flex; align-items:center; height:38px; padding:0 18px; background:#CBA45E; color:#0B1618; border-radius:6px; font-size:13.5px; font-weight:600; transition:transform .18s ease, background .18s ease; }
.cab087c4.cab087c4 { min-height:100vh; background:#0B1618; }
.cabea522.cabea522 { max-width:62ch; font-size:15.3px; line-height:1.72; color:#93A5A2; }
.cabed7e6.cabed7e6 { font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:#5E706E; }
.cac5e0ec.cac5e0ec { flex:none; width:14px; height:14px; margin-top:3px; border:1px solid rgba(203,164,94,0.42); border-radius:3px; }
.caea9033.caea9033 { margin-top:7px; font-size:14.3px; line-height:1.6; color:#EDF1EF; }
.cb1e00be.cb1e00be { margin-top:clamp(30px,4vw,44px); display:flex; flex-wrap:wrap; align-items:baseline; gap:14px 22px; background:#0E1B1D; border:1px solid rgba(237,241,239,0.13); border-left:2px solid #CBA45E; border-radius:6px; padding:22px 26px; }
.cb2034d9.cb2034d9 { font-family:Archivo,sans-serif; font-size:17px; font-weight:500; letter-spacing:-0.01em; color:#CBA45E; border-bottom:1px solid rgba(203,164,94,0.42); padding-bottom:3px; }
.cb22b080.cb22b080 { display:inline-flex; align-items:center; height:38px; padding:0 18px; border:1px dashed rgba(237,241,239,0.13); border-radius:6px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#5E706E; }
.cb339d7b.cb339d7b { margin-top:12px; max-width:38ch; font-size:15px; line-height:1.7; color:#93A5A2; }
.cb3674de.cb3674de { border:1px solid rgba(237,241,239,0.13); border-radius:10px; background:rgba(14,27,29,0.42); padding:clamp(22px,2.6vw,32px); display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:clamp(16px,2.4vw,36px); transition:border-color .2s ease; }
.cb6e1878.cb6e1878 { color:#EDF1EF; font-weight:600; }
.cb6e39f0.cb6e39f0 { font-size:14px; font-weight:500; color:#5E706E; padding-bottom:2px; border-bottom:1px dashed rgba(203,164,94,0.42); }
.cbc5bec5.cbc5bec5 { font-size:14.6px; line-height:1.7; color:#93A5A2; }
.cbc873c4.cbc873c4 { position:relative; max-width:1200px; margin:0 auto; padding:clamp(44px,6.5vw,84px) clamp(20px,4vw,40px) clamp(28px,4vw,44px); }
.cbf69468.cbf69468 { display:flex; align-items:center; gap:10px; }
.cc134ace.cc134ace { border:1px solid rgba(237,241,239,0.13); border-radius:10px; padding:clamp(26px,3.4vw,44px); background:rgba(14,27,29,0.42); }
.cc22165e.cc22165e { max-width:1200px; margin:0 auto; padding:clamp(48px,7vw,90px) clamp(20px,4vw,40px); }
.cc6de650.cc6de650 { display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:12px 18px; border:1px dashed rgba(237,241,239,0.18); border-radius:6px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:#5E706E; }
.cc9929a3.cc9929a3 { margin-top:12px; border:1px solid rgba(237,241,239,0.13); border-left:2px solid #CBA45E; border-radius:8px; padding:clamp(24px,3vw,32px); background:rgba(11,22,24,0.45); }
.cca8108a.cca8108a { border:1px solid rgba(237,241,239,0.13); border-radius:8px; padding:18px 20px; background:rgba(11,22,24,0.5); }
.ccaa7edb.ccaa7edb { margin-top:clamp(24px,3vw,36px); display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:2px 28px; }
.ccb3b433.ccb3b433 { margin-top:14px; font-size:clamp(32px,4.6vw,60px); font-weight:700; line-height:1.02; letter-spacing:-0.03em; }
.ccd8bb26.ccd8bb26 { margin-top:clamp(20px,2.4vw,28px); display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:clamp(18px,2.4vw,32px); }
.ccdaff5a.ccdaff5a { padding:18px 0; border-top:1px solid rgba(237,241,239,0.13); }
.cd014d23.cd014d23 { padding:8px 14px; border:1px dashed rgba(237,241,239,0.13); border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:#5E706E; }
.cd0cb967.cd0cb967.cd0cb967:hover { background:#E0BC7C; color:#0B1618; transform:translateY(-1px); }
.cd217d7c.cd217d7c { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.14em; color:#CBA45E; }
.cd486dd5.cd486dd5 { margin-top:14px; max-width:54ch; font-size:15.4px; line-height:1.7; color:#93A5A2; }
.cd58639f.cd58639f { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:#CBA45E; }
.cd719ec7.cd719ec7 { display:flex; flex-direction:column; gap:14px; }
.cd759ba0.cd759ba0 { margin-top:clamp(30px,4vw,46px); display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; }
.cd8f1691.cd8f1691 { margin-top:24px; max-width:58ch; font-size:clamp(16px,1.3vw,18px); line-height:1.7; color:#93A5A2; }
.cdc4c135.cdc4c135 { display:flex; flex-direction:column; padding:clamp(22px,2.4vw,28px); border:1px solid rgba(237,241,239,0.13); border-radius:8px; background:transparent; transition:background .2s ease, border-color .2s ease, transform .2s ease; }
.cdd0eb10.cdd0eb10 { max-width:64ch; font-size:15.4px; line-height:1.76; color:#93A5A2; }
.cdd983c5.cdd983c5 { font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; color:#CBA45E; }
.cdf12979.cdf12979 { display:inline-flex; align-items:center; height:52px; padding:0 26px; border:1px solid rgba(237,241,239,0.13); border-radius:6px; font-size:15px; font-weight:500; transition:border-color .18s ease, background .18s ease; }
.ce077f16.ce077f16 { margin-top:clamp(44px,6vw,76px); display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
.ce1e396f.ce1e396f { align-self:center; max-width:62ch; font-size:15.2px; line-height:1.74; color:#93A5A2; }
.ce2c916e.ce2c916e { margin-top:clamp(18px,2.2vw,26px); border-left:2px solid rgba(203,164,94,0.42); padding:4px 0 4px 16px; }
.ce3d58bf.ce3d58bf { padding:7px 12px; border:1px solid rgba(203,164,94,0.28); border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:#CBA45E; }
.ce461ef3.ce461ef3 { display:flex; flex-wrap:wrap; gap:8px; }
.ce744e71.ce744e71.ce744e71:hover { color:#CBA45E; }
.ce888cd7.ce888cd7 { display:flex; align-items:baseline; gap:10px; padding:9px 12px; border-radius:6px; border-left:2px solid rgba(237,241,239,0.13); color:#93A5A2; }
.cecaa205.cecaa205 { font-size:17px; font-weight:600; letter-spacing:-0.02em; line-height:1.3; }
.cef3eaf8.cef3eaf8 { display:grid; place-items:center; width:28px; height:28px; background:#CBA45E; color:#0B1618; border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; }
.cefb87c8.cefb87c8 { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.06em; color:#93A5A2; }
.cf17256f.cf17256f.cf17256f:hover { border-color:rgba(203,164,94,0.28); }
.cf184293.cf184293 { display:flex; align-items:baseline; gap:14px; }
.cf1b170b.cf1b170b { font-size:14px; color:#93A5A2; }
.cf2598b5.cf2598b5 { width:6px; height:6px; border-radius:50%; background:#9C7B3C; }
.cf2e1d08.cf2e1d08 { margin-top:14px; font-size:clamp(18px,1.8vw,24px); font-weight:700; letter-spacing:-0.026em; line-height:1.2; max-width:20ch; }
.cf2f7d27.cf2f7d27 { font-size:14.6px; line-height:1.68; color:#93A5A2; }
.cf4159bf.cf4159bf { display:flex; align-items:center; gap:clamp(14px,2.4vw,32px); }
.cf506413.cf506413 { display:flex; flex-direction:column; gap:16px; }
.cf53401d.cf53401d { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.1em; color:#5E706E; }
.cfb2d2d4.cfb2d2d4 { font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.14em; color:#CBA45E; }
.cfb8846f.cfb8846f { font-family:Archivo,sans-serif; font-size:15px; font-weight:700; letter-spacing:-0.028em; }
.cfbc608d.cfbc608d { display:grid; place-items:center; width:26px; height:26px; border:1px solid rgba(203,164,94,0.42); border-radius:4px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.06em; color:#CBA45E; }
.cfd57fc7.cfd57fc7 { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }

/* --- rail scroll-spy: the active state the design computes from
       `this.state.active`, applied by site.js on scroll --- */
[data-rail-link].rail-on { border-left-color: #CBA45E; background: rgba(203,164,94,0.08); color: #EDF1EF; }

/* --- 404 --- */
.nf { max-width: 1200px; margin: 0 auto; padding: clamp(64px,9vw,120px) clamp(20px,4vw,40px); }
.nf h1 { margin-top: 14px; font-size: clamp(32px,4.6vw,60px); font-weight: 700; line-height: 1.02; letter-spacing: -0.03em; }
.nf p.lede { margin-top: 18px; max-width: 52ch; font-size: 16.5px; line-height: 1.7; color: #93A5A2; }
.nf ul { margin: 36px 0 0; padding: 0; list-style: none; }
.nf li { border-top: 1px solid rgba(237,241,239,0.13); padding: 14px 0; font-size: 15px; line-height: 1.7; color: #93A5A2; }
.nf li a { color: #CBA45E; font-weight: 500; }
.nf-eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: #CBA45E; }
