/* The design's own reset, scoped to this page's wrapper. Its flex
   bases are outer widths; site.css deliberately does not set it. */
.cs-1, .cs-1 *, .cs-1 *::before, .cs-1 *::after { box-sizing: border-box }

/* Case Study - CultureMonkey.dc.html
   Generated. Every declaration is copied from the design file, and
   hover and focus come from its style-hover / style-focus attributes.
   Do not hand-edit: re-run the build.
*/

.cs-1 { font-family:'Instrument Sans',-apple-system,BlinkMacSystemFont,Arial,sans-serif; color:#16181C; line-height:1.6 }
.cs-2 { background:#15171B; color:#E9EAEC; padding:0 clamp(24px,5vw,72px) }
.cs-3 { padding:clamp(40px,5vw,56px) 0 clamp(56px,7vw,88px); display:flex; flex-direction:column; gap:26px; max-width:64ch; margin:0 auto; align-items:center; text-align:center }
.cs-4 { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; font-family:ui-monospace,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#7C838C }
/* x3 */
.cs-5 { color:#4A515A }
.cs-6 { color:#E8622E }
.cs-7 { margin:0; font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:clamp(34px,4.2vw,54px); letter-spacing:-.026em; line-height:1.08; color:#fff; text-wrap:balance }
.cs-8 { margin:0; font-size:18.5px; line-height:1.65; color:#A9AEB6; max-width:58ch; text-wrap:pretty }
.cs-9 { background:#fff; border-bottom:1px solid #E2E2DE }
.cs-10 { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; column-gap:32px; row-gap:14px; padding:22px clamp(24px,5vw,72px); border-bottom:1px solid #EDEDE9 }
.cs-11 { display:flex; align-items:center; gap:12px }
.cs-12 { font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:#8B9199; margin-right:6px }
.cs-13 { height:26px; width:auto; object-fit:contain; display:block; flex:none }
.cs-14 { font-family:'Newsreader',Georgia,serif; font-size:20px; font-weight:600; letter-spacing:-.014em; color:#16181C }
/* x2 */
.cs-15 { font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#8B9199 }
.cs-16 { display:flex; flex-wrap:wrap; gap:1px; background:#E2E2DE }
.cs-17 { background:#fff; padding:30px 28px 34px; display:flex; flex-direction:column; gap:12px; flex:1 1 40%; min-width:260px }
.cs-18 { font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#E8622E; line-height:1.5 }
.cs-19 { font-family:'Newsreader',Georgia,serif; font-size:clamp(30px,3vw,38px); font-weight:600; letter-spacing:-.022em; line-height:1.08; color:#16181C; text-wrap:balance }
.cs-20 { font-size:15px; line-height:1.6; color:#5C6169; text-wrap:pretty }
.cs-21 { background:#FAFAF9; border-bottom:1px solid #E2E2DE; padding:clamp(56px,7vw,88px) clamp(24px,5vw,72px); display:flex; flex-wrap:wrap; column-gap:72px; row-gap:28px; align-items:flex-start }
.cs-22 { margin:0; flex:0 1 240px; font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:36px; letter-spacing:-.018em; line-height:1.14 }
.cs-23 { flex:1 1 420px; min-width:0; max-width:760px; display:flex; flex-direction:column; gap:1px; background:#E2E2DE; border-top:1px solid #E2E2DE; border-bottom:1px solid #E2E2DE }
.cs-24 { background:#FAFAF9; padding:16px 0; display:flex; gap:18px; align-items:baseline }
.cs-25 { flex:none; font-family:ui-monospace,monospace; font-size:11px; color:#E8622E }
.cs-26 { font-size:16.5px; line-height:1.65; color:#3F444B; text-wrap:pretty }
.cs-27 { background:#FAFAF9; padding:clamp(56px,7vw,80px) clamp(24px,5vw,72px) clamp(56px,7vw,88px) }
.cs-28 { max-width:66ch; margin:0 auto; display:flex; flex-direction:column; gap:44px }
.cs-29 { display:flex; flex-direction:column; gap:20px }
/* x7 */
.cs-30 { font-family:ui-monospace,monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#E8622E }
/* x7 */
.cs-31 { margin:0; font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:clamp(26px,2.8vw,34px); letter-spacing:-.018em; line-height:1.18; text-wrap:pretty }
/* x17 */
.cs-32 { margin:0; font-size:18px; line-height:1.75; color:#3F444B; text-wrap:pretty }
/* x2 */
.cs-33 { margin:0; font-family:'Newsreader',Georgia,serif; font-size:24px; font-weight:500; letter-spacing:-.012em; line-height:1.42; color:#16181C; text-wrap:pretty }
.cs-34 { display:flex; flex-direction:column; gap:20px; padding-top:40px; border-top:1px solid #E2E2DE }
.cs-35 { background:#fff; border-top:1px solid #E2E2DE; border-bottom:1px solid #E2E2DE; padding:clamp(56px,7vw,88px) clamp(24px,5vw,72px); display:flex; flex-direction:column; align-items:center; text-align:center; gap:28px }
.cs-36 { margin:0; font-family:'Newsreader',Georgia,serif; font-size:clamp(24px,2.6vw,31px); font-weight:500; letter-spacing:-.016em; line-height:1.42; color:#16181C; max-width:44ch; text-wrap:pretty }
.cs-37 { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px }
.cs-38 { height:24px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.7 }
.cs-39 { display:flex; flex-direction:column; gap:1px; padding-left:20px; border-left:1px solid #E2E2DE; text-align:left }
.cs-40 { font-size:15px; font-weight:600; color:#16181C }
.cs-41 { font-size:14px; color:#5C6169 }
.cs-42 { background:#FAFAF9; padding:clamp(56px,7vw,88px) clamp(24px,5vw,72px) }
/* x6 */
.cs-43 { max-width:66ch; margin:0 auto; display:flex; flex-direction:column; gap:20px }
.cs-44 { margin:36px auto 0; max-width:1040px; display:flex; flex-direction:column; gap:12px }
.cs-45 { border:1px solid #E2E2DE; border-radius:6px; background:#fff; padding:clamp(10px,1.6vw,20px) }
.cs-46 { display:block; width:100%; height:auto }
.cs-47 { font-size:14px; color:#8B9199; line-height:1.55; text-align:center }
.cs-48 { max-width:66ch; margin:44px auto 0; display:flex; flex-direction:column; gap:20px }
/* x2 */
.cs-49 { margin:0; font-size:18px; line-height:1.75; color:#3F444B }
/* x3 */
.cs-50 { border:1px solid #E2E2DE; background:#fff; overflow-x:auto }
.cs-51 { display:flex; flex-direction:column; gap:8px; padding:22px 24px; background:#fff; border:1px solid #E2E2DE }
.cs-52 { margin:0; font-size:16px; line-height:1.65; color:#3F444B; text-wrap:pretty }
/* x3 */
.cs-53 { background:#fff; border-top:1px solid #E2E2DE; padding:clamp(56px,7vw,88px) clamp(24px,5vw,72px) }
/* x3 */
.cs-54 { border:1px solid #E2E2DE; border-radius:6px; background:#fff }
.cs-55 { display:flex; justify-content:space-between; gap:20px; padding:15px 22px; border-bottom:1px solid #EDEDE9; font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#8B9199 }
/* x2 */
.cs-56 { padding:18px 22px; display:flex; flex-direction:column; gap:14px }
/* x3 */
.cs-57 { display:flex; flex-direction:column; gap:7px }
.cs-58 { display:flex; justify-content:space-between; align-items:baseline; gap:16px }
.cs-59 { font-size:13px; font-weight:400; color:#8B9199 }
/* x2 */
.cs-60 { display:block; height:8px; background:#EDEDE9 }
/* x2 */
.cs-61 { margin:0; font-size:14px; line-height:1.6; color:#8B9199; text-wrap:pretty }
/* x2 */
.cs-62 { background:#FAFAF9; border-top:1px solid #E2E2DE; padding:clamp(56px,7vw,88px) clamp(24px,5vw,72px) }
.cs-63 { display:grid; grid-template-columns:minmax(0,1fr) 72px 96px; gap:14px; padding:15px 22px; border-bottom:1px solid #EDEDE9; font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#8B9199 }
/* x4 */
.cs-64 { text-align:right }
.cs-65 { display:grid; grid-template-columns:minmax(0,1fr) 72px 96px; gap:14px; align-items:baseline }
.cs-66 { font-size:15px; color:#3F444B }
.cs-67 { font-size:15px; font-weight:600; color:#16181C; text-align:right; font-variant-numeric:tabular-nums }
/* x2 */
.cs-68 { font-family:ui-monospace,monospace; font-size:12px; color:#8B9199; text-align:right }
.cs-69 { margin:18px 0 0; font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:24px; letter-spacing:-.014em; line-height:1.24 }
.cs-70 { display:grid; grid-template-columns:minmax(0,1fr) 72px 72px; gap:14px; padding:15px 22px; border-bottom:1px solid #EDEDE9; font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#8B9199 }
.cs-71 { padding:18px 22px; display:flex; flex-direction:column; gap:16px }
.cs-72 { display:grid; grid-template-columns:minmax(0,1fr) 72px 72px; gap:14px; align-items:baseline }
.cs-73 { font-size:15px; color:#3F444B; text-wrap:pretty }
.cs-74 { display:block; height:10px; background:#EDEDE9 }
.cs-75 { margin:0; padding-left:22px; border-left:2px solid #F2C8B6; font-family:'Newsreader',Georgia,serif; font-size:23px; font-weight:500; letter-spacing:-.01em; line-height:1.44; color:#16181C; text-wrap:pretty }
.cs-76 { font-family:ui-monospace,monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8B9199 }
.cs-77 { margin:0; font-size:16px; line-height:1.7; color:#3F444B }
.cs-78 { display:flex; flex-direction:column; gap:1px; background:#E2E2DE; border-top:1px solid #E2E2DE; border-bottom:1px solid #E2E2DE }
.cs-79 { background:#fff; padding:15px 0; display:flex; flex-wrap:wrap; column-gap:22px; row-gap:4px; align-items:baseline }
.cs-80 { flex:0 0 150px; font-family:ui-monospace,monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#8B9199 }
.cs-81 { flex:1 1 300px; min-width:0; font-size:15px; line-height:1.65; color:#5C6169; text-wrap:pretty }
.cs-82 { background:#FAFAF9; border-top:1px solid #E2E2DE; border-bottom:1px solid #E2E2DE; padding:clamp(56px,7vw,88px) clamp(24px,5vw,72px); display:flex; flex-direction:column; gap:36px }
.cs-83 { margin:0; font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:36px; letter-spacing:-.018em }
.cs-84 { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); column-gap:64px; row-gap:34px }
.cs-85 { display:flex; flex-direction:column; gap:9px; max-width:50ch }
.cs-86 { font-family:'Newsreader',Georgia,serif; font-size:21px; font-weight:600; letter-spacing:-.012em; color:#16181C; text-wrap:pretty }
.cs-87 { font-size:15.5px; color:#5C6169; line-height:1.65; text-wrap:pretty }
.cs-88 { margin:0; font-family:ui-monospace,monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8B9199 }
.cs-89 { background:#15171B; color:#E9EAEC; padding:clamp(56px,7vw,92px) clamp(24px,5vw,72px); display:flex; justify-content:space-between; align-items:flex-end; column-gap:60px; row-gap:34px; flex-wrap:wrap }
.cs-90 { margin:0; font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:clamp(34px,4vw,54px); letter-spacing:-.024em; line-height:1.06; max-width:14ch; color:#fff }
.cs-91 { display:flex; flex-direction:column; gap:18px; align-items:flex-start; flex:0 1 460px; min-width:0 }
.cs-92 { margin:0; font-size:16.5px; color:#A9AEB6; max-width:40ch }
.cs-93 { display:flex; align-items:stretch; column-gap:8px; row-gap:12px; flex-wrap:wrap; width:100%; max-width:460px }
.cs-94 { display:flex; align-items:center; background:#1B1E23; border:1px solid #2A2F36; border-radius:5px; padding:0 16px; flex:1 1 100%; min-width:0 }
.cs-95 { font-size:15.5px; color:#5E656E; flex:none }
.cs-96 { background:transparent; border:0; outline:none; color:#E9EAEC; font-family:inherit; font-size:15.5px; padding:14px 0 14px 6px; width:100% }
.cs-97 { display:flex; align-items:center; justify-content:center; background:#E8622E; color:#15171B; font-size:15px; font-weight:700; padding:14px 26px; border-radius:5px; white-space:nowrap; flex:1 1 auto }

/* The capture buttons are <button> now, not <a>, so they need the type
   and chrome an anchor gave them for free. */
.cs-97 { border: 0; cursor: pointer; font-family: inherit }

/* The design file for this page carries no style-hover or style-focus
   attributes, so these come from the site's own values rather than
   from the file. Scoped to this page. */
.cs-1 a:focus-visible,
.cs-1 button:focus-visible { outline: 2px solid #E8622E; outline-offset: 3px }
.cs-97:hover { background: #D9561F; color: #15171B }

/* The whole field shows focus, not the bare input. */
.cs-94:has(:focus-visible) { border-color: #E8622E }
.cs-96:focus-visible { outline: none }
