/* eThesis UI classes: what used to be inline style="" in the views.
   Not in a layer, so they win over the layered site CSS the way inline styles did,
   while !important overrides there (phones, Greek) still apply. Generated once from the
   inline styles; edit by hand from here on. Components first, then single-purpose
   helpers (longhands after their shorthands). */

/* ── Components ── */
.big-numeral { display: block; font-family: var(--font-serif); font-style: italic; font-size: 88px; line-height: 0.8; color: var(--teal); margin-bottom: 28px; }
.body-text { margin: 0; font-size: 18px; line-height: 1.7; }
.btn-pill { display: inline-flex; align-items: center; padding: 16px 28px; min-height: 54px; box-sizing: border-box; background: var(--ink); color: var(--white); font-weight: 700; font-size: 17px; text-decoration: none; border-radius: var(--radius-pill); }
.btn-pill-light { display: inline-flex; align-items: center; padding: 16px 28px; min-height: 54px; box-sizing: border-box; background: var(--white); color: var(--ink); font-weight: 700; font-size: 17px; text-decoration: none; border-radius: var(--radius-pill); }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }
.bullet { flex: 0 0 10px; height: 10px; margin-top: 8px; background: var(--teal); }
.bullet-item { display: flex; gap: 12px; font-size: 17px; line-height: 1.6; }
.check-circle { width: 20px; height: 20px; flex: 0 0 auto; border-radius: 50%; background: var(--teal); color: var(--white); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.check-item { display: flex; gap: 14px; font-size: 17px; line-height: 1.5; }
.check-item-lg { display: flex; gap: 14px; font-size: 18px; line-height: 1.5; }
.check-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.cols { display: flex; flex-wrap: wrap; gap: 48px 96px; }
.cols-300 { margin-top: 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px 64px; max-width: 1040px; }
.contact-step { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1.5px solid var(--sand); }
.contact-step-num { flex: 0 0 auto; font-size: 30px; line-height: 1; color: var(--teal); }
.dark-check-row { display: flex; gap: 16px; align-items: baseline; padding: 16px 0; border-top: 1px solid var(--white-20); font-size: 18px; line-height: 1.4; font-weight: 600; }
.dark-check-row-lg { display: flex; gap: 16px; align-items: baseline; padding: 16px 0; border-top: 1px solid var(--white-20); font-size: 22px; line-height: 1.4; font-weight: 600; }
.evidence-row { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--sand); font-size: 16px; }
.fact-row { display: flex; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1.5px solid var(--sand); }
.fact-value { margin: 0; font-size: 18px; font-weight: 800; }
.h2-bold { margin: 0; font-size: clamp(36px, 4.2vw, 58px); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; }
.h2-md { margin: 0; font-size: clamp(32px, 3.6vw, 48px); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; }
.h2-sans { margin: 0; font-weight: 700; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.05; letter-spacing: -0.03em; }
.h2-serif { margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: clamp(34px, 3.6vw, 52px); line-height: 1; letter-spacing: -0.02em; }
.h2-serif-lg { margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: clamp(40px, 4.4vw, 64px); line-height: 1; letter-spacing: -0.02em; }
.h2-serif-lg-wide { margin: 0; max-width: 1040px; font-family: var(--font-serif); font-weight: 400; font-size: clamp(40px, 4.4vw, 64px); line-height: 1; letter-spacing: -0.02em; }
.h2-sm { margin: 0; font-weight: 700; font-size: 30px; line-height: 1.05; letter-spacing: -0.03em; }
.head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.hero-benefits { margin: 24px auto 0; max-width: 980px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; }
.hero-kicker { margin: 0 0 24px; font-size: 18px; font-weight: 700; color: var(--teal); }
.hero-kicker-on-dark { margin: 0 0 24px; font-size: 17px; font-weight: 700; color: var(--sand); }
.inbox-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--teal); }
.inbox-dot-off { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: transparent; }
.inbox-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px dashed rgba(7, 58, 67, 0.3); font-size: 17px; }
.kicker { margin: 0 0 18px; font-size: 17px; font-weight: 700; color: var(--ink-2); }
.kicker-flush { margin: 0; font-size: 17px; font-weight: 700; color: var(--ink-2); }
.kicker-on-dark { font-size: 17px; font-weight: 700; color: var(--sand); }
.label { font-size: 16px; font-weight: 700; color: var(--ink-2); }
.label-mt { font-size: 16px; font-weight: 700; margin-top: 6px; }
.lead { margin: 0; font-size: 19px; line-height: 1.7; max-width: 640px; }
.lead-muted { margin: 0; font-size: 19px; line-height: 1.7; color: var(--ink-2); }
.lead-on-dark { margin: 0; font-size: 19px; line-height: 1.7; color: var(--sand); }
.lead-on-dark-mt { margin: 24px 0 0; font-size: 19px; line-height: 1.7; color: var(--sand); }
.legal-body { display: flex; flex-direction: column; gap: 14px; padding-left: 4px; max-width: 760px; }
.legal-h2 { margin: 0; font-size: 28px; font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; }
.legal-h3 { margin: 10px 0 0; font-size: 20px; font-weight: 800; letter-spacing: -0.01em; }
.legal-head { display: flex; gap: 18px; align-items: baseline; padding-top: 18px; }
.legal-list { margin: 0; padding: 0 0 0 24px; display: flex; flex-direction: column; gap: 8px; font-size: 18px; line-height: 1.6; }
.legal-num { flex: 0 0 auto; font-size: 36px; line-height: 1; color: var(--teal); }
.legal-section { display: flex; flex-direction: column; gap: 16px; padding-top: 8px; border-top: 1.5px solid var(--ink); scroll-margin-top: 24px; }
.log-row { display: flex; justify-content: space-between; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--ink-15); font-size: 18px; }
.mock-label { font-size: 14px; font-weight: 700; color: var(--ink-2); }
.mock-label-mb { font-size: 14px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.mock-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--sand); }
.mock-row-between { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--sand); }
.mock-row-name { flex: 1 1 0%; min-width: 0; font-size: 16px; }
.mock-window { margin: 80px auto 0; max-width: 1120px; border-radius: 16px; overflow: hidden; background: var(--white); box-shadow: var(--ink-18) 0 30px 80px, var(--ink-12) 0 0 0 1px; text-align: left; }
.mode-col { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding: 0 32px; border-left: 1px solid var(--ink-18); }
.mono-kicker { margin: 0; font-family: var(--font-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-2); }
.mono-label { font-family: var(--font-mono); font-size: 12px; color: var(--ink-2); }
.next-link { font-size: 22px; font-weight: 700; color: var(--ink); text-decoration: none; border-bottom: 2px solid var(--teal); padding-bottom: 4px; }
.next-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px 48px; }
.num-display { font-family: var(--font-display); font-stretch: 68%; font-weight: 800; font-size: 72px; line-height: 0.9; color: var(--teal); }
.num-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; border-top: 1px solid var(--ink-18); }
.num-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 28px 0; border-bottom: 1px solid var(--ink-18); }
.num-serif-40 { font-family: var(--font-serif); font-style: italic; font-size: 40px; line-height: 1; color: var(--teal); }
.num-serif-48 { font-family: var(--font-serif); font-style: italic; font-size: 48px; line-height: 1; color: var(--teal); }
.num-serif-56 { font-family: var(--font-serif); font-style: italic; font-size: 56px; line-height: 1; color: var(--teal); }
.partner-item { padding: 18px 0; border-bottom: 1.5px solid var(--sand); font-size: 19px; font-weight: 700; }
.plain-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.role-tab { padding: 4px 0; font-size: 19px; font-weight: 700; color: var(--ink); }
.role-tab-lg { padding: 6px 0; font-size: 22px; font-weight: 700; color: var(--ink); }
.role-tab-on-dark { padding: 6px 0; font-size: 22px; font-weight: 700; color: var(--white); }
.role-tab-on-dark-sm { padding: 6px 0; font-size: 19px; font-weight: 700; color: var(--white); }
.role-tabs { margin-top: 36px; display: flex; justify-content: center; gap: 36px; }
.side-note { margin-top: 12px; padding-left: 24px; border-left: 3px solid var(--teal); display: flex; flex-direction: column; gap: 14px; }
.sig-step-text { font-size: 17px; line-height: 1.5; color: var(--ink-2); }
.sig-step-title { font-size: 24px; font-weight: 700; letter-spacing: -0.01em; }
.split-aside-end { flex: 1 1 380px; min-width: 0; order: 2; }
.split-main { flex: 1.3 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 24px; padding-top: 8px; }
.split-start { display: flex; flex-wrap: wrap; gap: 48px 96px; align-items: flex-start; }
.stack-4 { display: flex; flex-direction: column; gap: 4px; }
.stack-8 { display: flex; flex-direction: column; gap: 8px; }
.step-col { padding: 0 28px 0 0; display: flex; flex-direction: column; gap: 14px; }
.step-dot { width: 18px; height: 18px; border-radius: 50%; background: var(--ink); flex: 0 0 auto; }
.step-line { flex: 1 1 0%; height: 2px; background: var(--ink); }
.step-text { font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.step-title { font-size: 20px; font-weight: 700; line-height: 1.3; }
.step-track { display: flex; align-items: center; gap: 0; }
.strike-tag { padding: 10px 14px; border: 1.5px solid var(--ink); background: var(--sand-2); font-size: 17px; font-weight: 600; text-decoration: line-through 2px var(--teal); }
.tag-pill { flex: 0 0 auto; padding: 4px 10px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 700; background: rgba(55, 150, 164, 0.16); color: var(--ink); }
.tag-pill-outline { flex: 0 0 auto; padding: 4px 10px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 700; background: transparent; color: var(--ink-2); box-shadow: inset 0 0 0 1px rgba(7, 58, 67, 0.3); }
.text-lg { margin: 0; font-size: 19px; line-height: 1.7; }
.text-sm-muted { font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.timeline { flex: 1.2 1 480px; margin: 0; padding: 0; list-style: none; }
.timeline-dot { position: absolute; left: -9px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--teal); }
.timeline-item { position: relative; padding: 0 0 36px 48px; border-left: 2px solid rgba(255, 255, 255, 0.3); }
.timeline-text { display: block; margin-top: 8px; font-size: 18px; line-height: 1.6; color: var(--sand); }
.timeline-title { display: block; font-size: 22px; font-weight: 700; }
.toc-btn { width: 100%; display: flex; gap: 12px; align-items: baseline; padding: 10px 12px; border-width: 0 0 1px 4px; border-style: none none solid solid; border-color: currentcolor currentcolor var(--sand) transparent; border-image: none; background: var(--white); cursor: pointer; text-align: left; font-size: 16px; line-height: 1.4; font-weight: 500; }
.toc-num { flex: 0 0 22px; color: var(--teal); font-weight: 800; }
.tool-item { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-serif); font-size: 28px; line-height: 1.2; }
.tool-logo { display: block; width: 30px; height: 30px; object-fit: contain; }
.value-col { padding: 28px 28px 10px 0; display: flex; flex-direction: column; gap: 12px; }
.value-num { font-size: 44px; line-height: 1; color: var(--teal); }
.value-text { margin: 0; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.value-title { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -0.01em; }
.wrap-120 { max-width: 1240px; margin: 0 auto; padding: 120px 24px; }
.wrap-128 { max-width: 1240px; margin: 0 auto; padding: 128px 24px; }
.wrap-56 { max-width: 1240px; margin: 0 auto; padding: 56px 24px; }
.wrap-64 { max-width: 1240px; margin: 0 auto; padding: 64px 24px; }
.wrap-hero { max-width: 1240px; margin: 0 auto; padding: 56px 24px 120px; }
.year-tab { flex: 1 1 200px; display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-width: 0 1.5px 0 0; border-style: none solid none none; border-color: currentcolor var(--ink) currentcolor currentcolor; border-image: none; cursor: pointer; text-align: left; background: var(--white); color: var(--ink); }

/* ── Helpers ── */
.ai-base { align-items: baseline; }
.ai-center { align-items: center; }
.ai-end { align-items: flex-end; }
.ai-start { align-items: flex-start; }
.ai-stretch { align-items: stretch; }

.as-end { align-self: flex-end; }
.as-start { align-self: flex-start; }

.delay-var { animation-delay: var(--delay); }

.bg-ink { background: var(--ink); }
.bg-ink-2 { background: var(--ink-2); }
.bg-ink-12 { background: var(--ink-12); }
.bg-ink-25 { background: var(--ink-25); }
.bg-none { background: none; }
.bg-ring-ink { background: radial-gradient(circle, var(--ink) 0 10%, var(--ink-2) 10% 26%, rgba(25, 79, 87, 0.45) 26% 44%, transparent 44%); }
.bg-ring-ink-teal { background: radial-gradient(circle, var(--ink-2) 0 12%, var(--teal) 12% 30%, var(--teal-55) 30% 46%, rgba(55, 150, 164, 0.25) 46% 62%, transparent 62%); }
.bg-ring-teal { background: radial-gradient(circle, var(--sand) 0 18%, rgba(55, 150, 164, 0.3) 18% 34%, var(--teal-55) 34% 46%, var(--teal) 46% 54%, transparent 54%); }
.bg-sand { background: var(--sand); }
.bg-sand-2 { background: var(--sand-2); }
.bg-sand-3 { background: var(--sand-3); }
.bg-teal { background: var(--teal); }
.bg-teal-12 { background: var(--teal-12); }
.bg-teal-fade { background: linear-gradient(180deg, rgba(55, 150, 164, 0.38) 0%, var(--teal-12) 50%, var(--white) 100%); }
.bg-tr { background: transparent; }
.bg-var { background: var(--bg); }
.bg-white { background: var(--white); }
.bg-white-82 { background: rgba(255, 255, 255, 0.82); }

.b-0 { border: 0; }
.b-1-ink-2 { border: 1px solid var(--ink-2); }
.b-1p5-ink { border: 1.5px solid var(--ink); }
.b-1p5-white { border: 1.5px solid var(--white); }
.b-2-ink { border: 2px solid var(--ink); }
.b-2-ink-35 { border: 2px solid var(--ink-35); }

.r-3 { border-radius: 3px; }
.r-6 { border-radius: 6px; }
.r-10 { border-radius: 10px; }
.r-12-12-2 { border-radius: 12px 12px 2px; }
.r-12-12-12-2 { border-radius: 12px 12px 12px 2px; }
.r-14 { border-radius: 14px; }
.r-16 { border-radius: 16px; }
.r-50pc { border-radius: 50%; }
.r-pill { border-radius: var(--radius-pill); }

.sh-6-6-0-ink { box-shadow: 6px 6px 0 var(--ink); }
.sh-6-6-0-ink-2 { box-shadow: 6px 6px 0 var(--ink-2); }
.sh-6-6-0-sand { box-shadow: 6px 6px 0 var(--sand); }
.sh-8-8-0-teal { box-shadow: 8px 8px 0 var(--teal); }
.sh-c0-0-0-0-30-80 { box-shadow: rgba(0, 0, 0, 0.28) 0 30px 80px; }
.sh-ink-0-0-0-3 { box-shadow: var(--ink) 0 0 0 3px; }
.sh-inset-0-0-0-1-ink-15 { box-shadow: inset 0 0 0 1px var(--ink-15); }
.sh-inset-0-0-0-1-ink-20 { box-shadow: inset 0 0 0 1px var(--ink-20); }
.sh-none { box-shadow: none; }
.sh-teal-0-0-0-3 { box-shadow: var(--teal) 0 0 0 3px; }
.sh-teal-6-6-0 { box-shadow: var(--teal) 6px 6px 0; }
.sh-teal-8-8-0 { box-shadow: var(--teal) 8px 8px 0; }
.sh-teal-10-10-0 { box-shadow: var(--teal) 10px 10px 0; }
.sh-teal-18-18-0 { box-shadow: var(--teal) 18px 18px 0; }

.bbox { box-sizing: border-box; }

.cliprect-rect-0-0-0-0 { clip: rect(0, 0, 0, 0); }

.clip-inset-0-15pc-0-0 { clip-path: inset(0 15% 0 0); }

.c-error { color: var(--error); }
.c-inherit { color: inherit; }
.c-ink { color: var(--ink); }
.c-ink-2 { color: var(--ink-2); }
.c-sand { color: var(--sand); }
.c-teal { color: var(--teal); }
.c-var { color: var(--c); }
.c-white { color: var(--white); }

.pointer { cursor: pointer; }

.block { display: block; }
.flex { display: flex; }
.grid { display: grid; }
.iblock { display: inline-block; }
.iflex { display: inline-flex; }

.f-0-0-150 { flex: 0 0 150px; }
.f-0-0-220 { flex: 0 0 220px; }
.f-0-0-auto { flex: 0 0 auto; }
.f-0-1-320 { flex: 0 1 320px; }
.f-0-1-340 { flex: 0 1 340px; }
.f-0-1-360 { flex: 0 1 360px; }
.f-1 { flex: 1; }
.f-1-1-0pc { flex: 1 1 0%; }
.f-1-1-140 { flex: 1 1 140px; }
.f-1-1-180 { flex: 1 1 180px; }
.f-1-1-200 { flex: 1 1 200px; }
.f-1-1-240 { flex: 1 1 240px; }
.f-1-1-260 { flex: 1 1 260px; }
.f-1-1-300 { flex: 1 1 300px; }
.f-1-1-320 { flex: 1 1 320px; }
.f-1-1-340 { flex: 1 1 340px; }
.f-1-1-360 { flex: 1 1 360px; }
.f-1-1-380 { flex: 1 1 380px; }
.f-1-1-420 { flex: 1 1 420px; }
.f-1-1-440 { flex: 1 1 440px; }
.f-1-1-460 { flex: 1 1 460px; }
.f-1-1-480 { flex: 1 1 480px; }
.f-1-1-500 { flex: 1 1 500px; }
.f-1-1-520 { flex: 1 1 520px; }
.f-1-1-560 { flex: 1 1 560px; }
.f-1p1-1-460 { flex: 1.1 1 460px; }
.f-1p2-1-460 { flex: 1.2 1 460px; }
.f-1p2-1-480 { flex: 1.2 1 480px; }
.f-1p2-1-520 { flex: 1.2 1 520px; }
.f-1p3-1-520 { flex: 1.3 1 520px; }
.f-1p3-1-560 { flex: 1.3 1 560px; }
.f-1p4-1-520 { flex: 1.4 1 520px; }
.f-1p4-1-560 { flex: 1.4 1 560px; }
.f-1p6-1-560 { flex: 1.6 1 560px; }
.f-2-1-260 { flex: 2 1 260px; }
.f-2-1-340 { flex: 2 1 340px; }
.f-2-1-380 { flex: 2 1 380px; }
.f-2-1-600 { flex: 2 1 600px; }
.f-3-1-320 { flex: 3 1 320px; }
.f-none { flex: none; }

.col { flex-direction: column; }

.wrap { flex-wrap: wrap; }

.fst-68pc { font-stretch: 68%; }

.gap-0 { gap: 0; }
.gap-2 { gap: 2px; }
.gap-4 { gap: 4px; }
.gap-6 { gap: 6px; }
.gap-8 { gap: 8px; }
.gap-8-32 { gap: 8px 32px; }
.gap-10 { gap: 10px; }
.gap-10-28 { gap: 10px 28px; }
.gap-12 { gap: 12px; }
.gap-12-20 { gap: 12px 20px; }
.gap-12-32 { gap: 12px 32px; }
.gap-12-40 { gap: 12px 40px; }
.gap-14 { gap: 14px; }
.gap-14-40 { gap: 14px 40px; }
.gap-16 { gap: 16px; }
.gap-18 { gap: 18px; }
.gap-18-20 { gap: 18px 20px; }
.gap-20 { gap: 20px; }
.gap-20-32 { gap: 20px 32px; }
.gap-24 { gap: 24px; }
.gap-24-48 { gap: 24px 48px; }
.gap-28 { gap: 28px; }
.gap-32 { gap: 32px; }
.gap-36 { gap: 36px; }
.gap-40 { gap: 40px; }
.gap-40-96 { gap: 40px 96px; }
.gap-48 { gap: 48px; }
.gap-48-64 { gap: 48px 64px; }
.gap-48-72 { gap: 48px 72px; }
.gap-48-80 { gap: 48px 80px; }
.gap-56 { gap: 56px; }
.gap-56-0 { gap: 56px 0; }
.gap-56-72 { gap: 56px 72px; }
.gap-56-80 { gap: 56px 80px; }

.gcol-auto { grid-column: auto; }

.h-0 { height: 0; }
.h-1 { height: 1px; }
.h-2 { height: 2px; }
.h-6 { height: 6px; }
.h-7 { height: 7px; }
.h-8 { height: 8px; }
.h-10 { height: 10px; }
.h-16 { height: 16px; }
.h-18 { height: 18px; }
.h-20 { height: 20px; }
.h-22 { height: 22px; }
.h-26 { height: 26px; }
.h-28 { height: 28px; }
.h-42 { height: 42px; }
.h-44 { height: 44px; }
.h-56 { height: 56px; }
.h-64 { height: 64px; }
.h-100pc { height: 100%; }
.h-420 { height: 420px; }
.h-440 { height: 440px; }
.h-620 { height: 620px; }
.h-640 { height: 640px; }
.h-720 { height: 720px; }

.inset-0 { inset: 0; }

.jc-between { justify-content: space-between; }
.jc-center { justify-content: center; }
.jc-end { justify-content: flex-end; }

.ls-0p1em { letter-spacing: 0.1em; }
.ls-0p04em { letter-spacing: 0.04em; }
.ls-0p08em { letter-spacing: 0.08em; }
.ls-0p14em { letter-spacing: 0.14em; }
.ls-3 { letter-spacing: 3px; }
.ls-n0p01em { letter-spacing: -0.01em; }
.ls-n0p02em { letter-spacing: -0.02em; }
.ls-n0p03em { letter-spacing: -0.03em; }
.ls-n0p04em { letter-spacing: -0.04em; }

.list-none { list-style: none; }

.m-0 { margin: 0; }
.m-0-0-4 { margin: 0 0 4px; }
.m-0-0-14 { margin: 0 0 14px; }
.m-0-0-16 { margin: 0 0 16px; }
.m-0-0-18 { margin: 0 0 18px; }
.m-0-0-20 { margin: 0 0 20px; }
.m-0-0-24 { margin: 0 0 24px; }
.m-0-0-40 { margin: 0 0 40px; }
.m-0-0-48 { margin: 0 0 48px; }
.m-0-0-56 { margin: 0 0 56px; }
.m-0-auto { margin: 0 auto; }
.m-0-n32-0-0 { margin: 0 -32px 0 0; }
.m-8-0-0 { margin: 8px 0 0; }
.m-14-0-0 { margin: 14px 0 0; }
.m-18-0-8 { margin: 18px 0 8px; }
.m-20-0-0 { margin: 20px 0 0; }
.m-24-0-0 { margin: 24px 0 0; }
.m-24-0-32 { margin: 24px 0 32px; }
.m-28-0-32 { margin: 28px 0 32px; }
.m-28-auto-0 { margin: 28px auto 0; }
.m-32-0-0 { margin: 32px 0 0; }

.maxh-screen-48 { max-height: calc(-48px + 100vh); }

.maxw-88pc { max-width: 88%; }
.maxw-92pc { max-width: 92%; }
.maxw-380 { max-width: 380px; }
.maxw-420 { max-width: 420px; }
.maxw-440 { max-width: 440px; }
.maxw-460 { max-width: 460px; }
.maxw-560 { max-width: 560px; }
.maxw-620 { max-width: 620px; }
.maxw-640 { max-width: 640px; }
.maxw-680 { max-width: 680px; }
.maxw-720 { max-width: 720px; }
.maxw-760 { max-width: 760px; }
.maxw-780 { max-width: 780px; }
.maxw-820 { max-width: 820px; }
.maxw-860 { max-width: 860px; }
.maxw-1040 { max-width: 1040px; }
.maxw-1080 { max-width: 1080px; }
.maxw-1100 { max-width: 1100px; }
.maxw-1180 { max-width: 1180px; }
.maxw-1240 { max-width: 1240px; }
.maxw-1440 { max-width: 1440px; }

.minh-40 { min-height: 40px; }
.minh-44 { min-height: 44px; }
.minh-46 { min-height: 46px; }
.minh-48 { min-height: 48px; }
.minh-50 { min-height: 50px; }
.minh-52 { min-height: 52px; }
.minh-54 { min-height: 54px; }
.minh-56 { min-height: 56px; }
.minh-60 { min-height: 60px; }
.minh-320 { min-height: 320px; }
.minh-340 { min-height: 340px; }
.minh-360 { min-height: 360px; }
.minh-420 { min-height: 420px; }
.minh-840 { min-height: 840px; }

.minw-0 { min-width: 0; }
.minw-210 { min-width: 210px; }
.minw-240 { min-width: 240px; }
.minw-260 { min-width: 260px; }
.minw-900 { min-width: 900px; }

.of-cover { object-fit: cover; }

.o-0p5 { opacity: 0.5; }
.o-0p6 { opacity: 0.6; }
.o-0p9 { opacity: 0.9; }
.o-0p25 { opacity: 0.25; }
.o-0p75 { opacity: 0.75; }
.o-0p85 { opacity: 0.85; }
.o-1 { opacity: 1; }

.ovh { overflow: hidden; }

.ow-anywhere { overflow-wrap: anywhere; }

.p-0 { padding: 0; }
.p-0-0-14 { padding: 0 0 14px; }
.p-0-24 { padding: 0 24px; }
.p-0-24-48 { padding: 0 24px 48px; }
.p-0-32-0-0 { padding: 0 32px 0 0; }
.p-0-56-24-4 { padding: 0 56px 24px 4px; }
.p-2 { padding: 2px; }
.p-2-6 { padding: 2px 6px; }
.p-4 { padding: 4px; }
.p-4-0 { padding: 4px 0; }
.p-4-8 { padding: 4px 8px; }
.p-4-10 { padding: 4px 10px; }
.p-6-0-14 { padding: 6px 0 14px; }
.p-6-10 { padding: 6px 10px; }
.p-6-20-10 { padding: 6px 20px 10px; }
.p-8-0 { padding: 8px 0; }
.p-8-10-8-12 { padding: 8px 10px 8px 12px; }
.p-8-10-8-14 { padding: 8px 10px 8px 14px; }
.p-8-10-8-16 { padding: 8px 10px 8px 16px; }
.p-8-10-8-18 { padding: 8px 10px 8px 18px; }
.p-8-12 { padding: 8px 12px; }
.p-8-12-8-14 { padding: 8px 12px 8px 14px; }
.p-8-14 { padding: 8px 14px; }
.p-8-20-16 { padding: 8px 20px 16px; }
.p-10-0 { padding: 10px 0; }
.p-10-12 { padding: 10px 12px; }
.p-10-14 { padding: 10px 14px; }
.p-10-14-14 { padding: 10px 14px 14px; }
.p-10-16 { padding: 10px 16px; }
.p-10-18-8 { padding: 10px 18px 8px; }
.p-10-24-0 { padding: 10px 24px 0; }
.p-12 { padding: 12px; }
.p-12-14 { padding: 12px 14px; }
.p-12-16 { padding: 12px 16px; }
.p-12-16-18 { padding: 12px 16px 18px; }
.p-12-18 { padding: 12px 18px; }
.p-12-18-16 { padding: 12px 18px 16px; }
.p-12-24 { padding: 12px 24px; }
.p-14 { padding: 14px; }
.p-14-0 { padding: 14px 0; }
.p-14-18 { padding: 14px 18px; }
.p-14-20 { padding: 14px 20px; }
.p-14-24 { padding: 14px 24px; }
.p-16 { padding: 16px; }
.p-16-0 { padding: 16px 0; }
.p-16-16-18 { padding: 16px 16px 18px; }
.p-16-18 { padding: 16px 18px; }
.p-16-20 { padding: 16px 20px; }
.p-16-24-20 { padding: 16px 24px 20px; }
.p-16-24-24 { padding: 16px 24px 24px; }
.p-16-28 { padding: 16px 28px; }
.p-18 { padding: 18px; }
.p-18-0 { padding: 18px 0; }
.p-18-0-16 { padding: 18px 0 16px; }
.p-18-20 { padding: 18px 20px; }
.p-18-20-20 { padding: 18px 20px 20px; }
.p-18-24 { padding: 18px 24px; }
.p-18-28 { padding: 18px 28px; }
.p-20-20-24 { padding: 20px 20px 24px; }
.p-20-24 { padding: 20px 24px; }
.p-20-24-6 { padding: 20px 24px 6px; }
.p-20-24-24 { padding: 20px 24px 24px; }
.p-24 { padding: 24px; }
.p-24-4 { padding: 24px 4px; }
.p-24-24-6 { padding: 24px 24px 6px; }
.p-24-24-10 { padding: 24px 24px 10px; }
.p-24-24-24 { padding: 24px 24px 24px; }
.p-24-24-28 { padding: 24px 24px 28px; }
.p-24-24-128 { padding: 24px 24px 128px; }
.p-24-28 { padding: 24px 28px; }
.p-28 { padding: 28px; }
.p-28-12 { padding: 28px 12px; }
.p-28-18 { padding: 28px 18px; }
.p-32-24-72 { padding: 32px 24px 72px; }
.p-32-32-36 { padding: 32px 32px 36px; }
.p-32-48 { padding: 32px 48px; }
.p-40-12 { padding: 40px 12px; }
.p-40-24-40-max-24-50pc---596 { padding: 40px 24px 40px max(24px, 50% - 596px); }
.p-40-24-96 { padding: 40px 24px 96px; }
.p-40-28 { padding: 40px 28px; }
.p-40-max-24-50pc---596-40-24 { padding: 40px max(24px, 50% - 596px) 40px 24px; }
.p-48-24-40 { padding: 48px 24px 40px; }
.p-48-32-56 { padding: 48px 32px 56px; }
.p-48-max-24-50pc---596 { padding: 48px max(24px, 50% - 596px); }
.p-56-24 { padding: 56px 24px; }
.p-56-24-0 { padding: 56px 24px 0; }
.p-56-24-40 { padding: 56px 24px 40px; }
.p-56-24-96 { padding: 56px 24px 96px; }
.p-56-24-112 { padding: 56px 24px 112px; }
.p-64 { padding: 64px; }
.p-64-24 { padding: 64px 24px; }
.p-64-24-48 { padding: 64px 24px 48px; }
.p-64-24-112 { padding: 64px 24px 112px; }
.p-72-24 { padding: 72px 24px; }
.p-72-24-64 { padding: 72px 24px 64px; }
.p-72-24-80 { padding: 72px 24px 80px; }
.p-72-24-88 { padding: 72px 24px 88px; }
.p-72-24-96 { padding: 72px 24px 96px; }
.p-72-24-112 { padding: 72px 24px 112px; }
.p-80-24 { padding: 80px 24px; }
.p-80-24-96 { padding: 80px 24px 96px; }
.p-88-24 { padding: 88px 24px; }
.p-88-24-40 { padding: 88px 24px 40px; }
.p-88-24-96 { padding: 88px 24px 96px; }
.p-96-24 { padding: 96px 24px; }
.p-112-24 { padding: 112px 24px; }
.p-120-24-112 { padding: 120px 24px 112px; }
.p-bleed-left { padding: 64px 64px 64px max(24px, -596px + 50vw); }

.pe-none { pointer-events: none; }

.abs { position: absolute; }
.fixed { position: fixed; }
.rel { position: relative; }
.sticky { position: sticky; }

.resize-vertical { resize: vertical; }

.ta-center { text-align: center; }
.ta-left { text-align: left; }
.ta-right { text-align: right; }

.td-none { text-decoration: none; }
.td-strike { text-decoration: line-through; }
.td-underline { text-decoration: underline; }

.upper { text-transform: uppercase; }

.tuo-4 { text-underline-offset: 4px; }

.tf-translate-0-0 { transform: translate(0, 0); }
.tf-translate-0-0-rotate-n2deg { transform: translate(0, 0) rotate(-2deg); }
.tf-translateY-n50pc { transform: translateY(-50%); }
.tf-var { transform: var(--tf); }

.tfo-0-0 { transform-origin: 0 0; }

.tr-background-color-0p3s { transition: background-color 0.3s; }
.tr-bar { transition: width 0.6s cubic-bezier(0.2,0.8,0.2,1); }
.tr-fade { transition: opacity 0.3s ease, border-color 0.3s ease; }
.tr-opacity-0p3s { transition: opacity 0.3s; }
.tr-width-0p45s { transition: width 0.45s; }

.w-0 { width: 0; }
.w-0pc { width: 0%; }
.w-1 { width: 1px; }
.w-2 { width: 2px; }
.w-6 { width: 6px; }
.w-7 { width: 7px; }
.w-7pc { width: 7%; }
.w-8 { width: 8px; }
.w-10 { width: 10px; }
.w-16 { width: 16px; }
.w-20 { width: 20px; }
.w-22 { width: 22px; }
.w-26 { width: 26px; }
.w-28 { width: 28px; }
.w-42 { width: 42px; }
.w-44 { width: 44px; }
.w-56 { width: 56px; }
.w-64 { width: 64px; }
.w-66p7pc { width: 66.7%; }
.w-100pc { width: 100%; }
.w-240 { width: 240px; }
.w-260 { width: 260px; }
.w-340 { width: 340px; }
.w-620 { width: 620px; }
.w-640 { width: 640px; }
.w-720 { width: 720px; }
.w-1192 { width: 1192px; }
.w-min-100pc-440 { width: min(100%, 440px); }
.w-var { width: var(--w); }

.z-1 { z-index: 1; }
.z-2 { z-index: 2; }
.z-3 { z-index: 3; }
.z-4 { z-index: 4; }
.z-6 { z-index: 6; }
.z-60 { z-index: 60; }

.bgi-ruled { background-image: repeating-linear-gradient(180deg, transparent 0 25px, rgba(55, 150, 164, 0.35) 25px 26px); }
.bgi-var { background-image: var(--bgi); }

.bgp-0-6 { background-position: 0 6px; }
.bgp-center { background-position: center; }

.bgs-cover { background-size: cover; }

.bb-1-ink-18 { border-bottom: 1px solid var(--ink-18); }
.bb-1-sand { border-bottom: 1px solid var(--sand); }
.bb-1-white-22 { border-bottom: 1px solid var(--white-22); }
.bb-1p5-ink { border-bottom: 1.5px solid var(--ink); }
.bb-1p5-sand { border-bottom: 1.5px solid var(--sand); }
.bb-2-teal { border-bottom: 2px solid var(--teal); }

.bc-cur-cur-sand-ink { border-color: currentcolor currentcolor var(--sand) var(--ink); }
.bc-cur-ink-cur-cur { border-color: currentcolor var(--ink) currentcolor currentcolor; }
.bc-white-white-cur { border-color: var(--white) var(--white) currentcolor; }

.bi-none { border-image: none; }

.bl-1-sand { border-left: 1px solid var(--sand); }
.bl-1p5-ink { border-left: 1.5px solid var(--ink); }
.bl-1p5-sand { border-left: 1.5px solid var(--sand); }
.bl-2-ink { border-left: 2px solid var(--ink); }
.bl-3-ink-2 { border-left: 3px solid var(--ink-2); }
.bl-4-error { border-left: 4px solid var(--error); }
.bl-4-teal { border-left: 4px solid var(--teal); }
.bl-4-tr { border-left: 4px solid transparent; }
.bl-6-ink { border-left: 6px solid var(--ink); }
.bl-8-ink { border-left: 8px solid var(--ink); }

.br-1p5-ink { border-right: 1.5px solid var(--ink); }
.br-1p5-sand { border-right: 1.5px solid var(--sand); }

.bs-none { border-style: solid solid none; }
.bs-none-none { border-style: none none solid solid; }
.bs-none-none-none { border-style: none solid none none; }

.bt-1-ink-18 { border-top: 1px solid var(--ink-18); }
.bt-1-sand { border-top: 1px solid var(--sand); }
.bt-1-white-20 { border-top: 1px solid var(--white-20); }
.bt-1p5-ink { border-top: 1.5px solid var(--ink); }
.bt-1p5-sand { border-top: 1.5px solid var(--sand); }
.bt-2-dash-teal { border-top: 2px dashed var(--teal); }
.bt-4-ink { border-top: 4px solid var(--ink); }

.bw-0-0-1-4 { border-width: 0 0 1px 4px; }
.bw-0-1p5-0-0 { border-width: 0 1.5px 0 0; }
.bw-1p5-1p5-0 { border-width: 1.5px 1.5px 0; }

.bottom-0 { bottom: 0; }
.bottom-n4 { bottom: -4px; }
.bottom-n8 { bottom: -8px; }
.bottom-n430 { bottom: -430px; }

.cgap-64 { column-gap: 64px; }

.ff-display { font-family: var(--font-display); }
.ff-inherit { font-family: inherit; }
.ff-mono { font-family: var(--font-mono); }
.ff-serif { font-family: var(--font-serif); }

.fs-11 { font-size: 11px; }
.fs-12 { font-size: 12px; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.fs-15 { font-size: 15px; }
.fs-16 { font-size: 16px; }
.fs-17 { font-size: 17px; }
.fs-18 { font-size: 18px; }
.fs-19 { font-size: 19px; }
.fs-20 { font-size: 20px; }
.fs-22 { font-size: 22px; }
.fs-24 { font-size: 24px; }
.fs-26 { font-size: 26px; }
.fs-28 { font-size: 28px; }
.fs-30 { font-size: 30px; }
.fs-32 { font-size: 32px; }
.fs-36 { font-size: 36px; }
.fs-40 { font-size: 40px; }
.fs-44 { font-size: 44px; }
.fs-64 { font-size: 64px; }
.fs-88 { font-size: 88px; }
.fs-clamp-18-1p5vw-21 { font-size: clamp(18px, 1.5vw, 21px); }
.fs-clamp-22-2p2vw-28 { font-size: clamp(22px, 2.2vw, 28px); }
.fs-clamp-24-2p4vw-32 { font-size: clamp(24px, 2.4vw, 32px); }
.fs-clamp-28-3p2vw-44 { font-size: clamp(28px, 3.2vw, 44px); }
.fs-clamp-28-3vw-38 { font-size: clamp(28px, 3vw, 38px); }
.fs-clamp-30-3p2vw-44 { font-size: clamp(30px, 3.2vw, 44px); }
.fs-clamp-30-3p4vw-46 { font-size: clamp(30px, 3.4vw, 46px); }
.fs-clamp-30-3p6vw-50 { font-size: clamp(30px, 3.6vw, 50px); }
.fs-clamp-34-3p6vw-50 { font-size: clamp(34px, 3.6vw, 50px); }
.fs-clamp-34-3p8vw-52 { font-size: clamp(34px, 3.8vw, 52px); }
.fs-clamp-34-4vw-54 { font-size: clamp(34px, 4vw, 54px); }
.fs-clamp-34-4vw-56 { font-size: clamp(34px, 4vw, 56px); }
.fs-clamp-36-4p2vw-64 { font-size: clamp(36px, 4.2vw, 64px); }
.fs-clamp-36-4vw-56 { font-size: clamp(36px, 4vw, 56px); }
.fs-clamp-36-4vw-58 { font-size: clamp(36px, 4vw, 58px); }
.fs-clamp-38-4p6vw-62 { font-size: clamp(38px, 4.6vw, 62px); }
.fs-clamp-40-4p4vw-64 { font-size: clamp(40px, 4.4vw, 64px); }
.fs-clamp-40-4p6vw-64 { font-size: clamp(40px, 4.6vw, 64px); }
.fs-clamp-40-4p6vw-68 { font-size: clamp(40px, 4.6vw, 68px); }
.fs-clamp-40-4p8vw-70 { font-size: clamp(40px, 4.8vw, 70px); }
.fs-clamp-40-5vw-72 { font-size: clamp(40px, 5vw, 72px); }
.fs-clamp-42-5p2vw-72 { font-size: clamp(42px, 5.2vw, 72px); }
.fs-clamp-42-5p2vw-76 { font-size: clamp(42px, 5.2vw, 76px); }
.fs-clamp-44-5vw-76 { font-size: clamp(44px, 5vw, 76px); }
.fs-clamp-46-5p2vw-80 { font-size: clamp(46px, 5.2vw, 80px); }
.fs-clamp-48-6vw-96 { font-size: clamp(48px, 6vw, 96px); }
.fs-clamp-52-6p4vw-100 { font-size: clamp(52px, 6.4vw, 100px); }
.fs-clamp-52-6p4vw-104 { font-size: clamp(52px, 6.4vw, 104px); }
.fs-clamp-56-6vw-96 { font-size: clamp(56px, 6vw, 96px); }
.fs-clamp-56-7vw-112 { font-size: clamp(56px, 7vw, 112px); }
.fs-clamp-64-8p4vw-132 { font-size: clamp(64px, 8.4vw, 132px); }
.fs-clamp-64-8vw-120 { font-size: clamp(64px, 8vw, 120px); }
.fs-clamp-64-10vw-170 { font-size: clamp(64px, 10vw, 170px); }
.fs-clamp-72-9vw-150 { font-size: clamp(72px, 9vw, 150px); }
.fs-clamp-90-12vw-200 { font-size: clamp(90px, 12vw, 200px); }
.fs-clamp-160-18vw-280 { font-size: clamp(160px, 18vw, 280px); }
.fs-hero-cond { font-size: clamp(min(54px, 15.5vw), 6.4vw, 104px); }

.italic { font-style: italic; }

.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.fw-800 { font-weight: 800; }
.fw-900 { font-weight: 900; }

.gtc-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gtc-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gtc-240-1fr-280 { grid-template-columns: 240px minmax(0, 1fr) 280px; }
.gtc-fit-200 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.gtc-fit-240 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.gtc-fit-260 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.gtc-fit-280 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

.left-0 { left: 0; }
.left-15pc { left: 15%; }
.left-21 { left: 21px; }
.left-32 { left: 32px; }
.left-85pc { left: 85%; }
.left-456 { left: 456px; }
.left-n22 { left: -22px; }
.left-n340 { left: -340px; }
.left-var { left: var(--left); }

.lh-0p8 { line-height: 0.8; }
.lh-0p9 { line-height: 1.1; }
.lh-1 { line-height: 1; }
.lh-1p2 { line-height: 1.2; }
.lh-1p3 { line-height: 1.3; }
.lh-1p4 { line-height: 1.4; }
.lh-1p5 { line-height: 1.5; }
.lh-1p05 { line-height: 1.05; }
.lh-1p6 { line-height: 1.6; }
.lh-1p7 { line-height: 1.7; }
.lh-1p15 { line-height: 1.15; }
.lh-26 { line-height: 26px; }

.mb-10 { margin-bottom: 10px; }
.mb-28 { margin-bottom: 28px; }
.mb-40 { margin-bottom: 40px; }
.mb-48 { margin-bottom: 48px; }

.ml-auto { margin-left: auto; }

.mr-10 { margin-right: 10px; }
.mr-n1p5 { margin-right: -1.5px; }

.mt-6 { margin-top: 6px; }
.mt-8 { margin-top: 8px; }
.mt-10 { margin-top: 10px; }
.mt-12 { margin-top: 12px; }
.mt-14 { margin-top: 14px; }
.mt-20 { margin-top: 20px; }
.mt-24 { margin-top: 24px; }
.mt-28 { margin-top: 28px; }
.mt-32 { margin-top: 32px; }
.mt-36 { margin-top: 36px; }
.mt-56 { margin-top: 56px; }
.mt-80 { margin-top: 80px; }
.mt-88 { margin-top: 88px; }
.mt-auto { margin-top: auto; }

.ovx-auto { overflow-x: auto; }

.ovy-auto { overflow-y: auto; }
.ovy-hidden { overflow-y: hidden; }

.pb-4 { padding-bottom: 4px; }
.pb-8 { padding-bottom: 8px; }
.pb-12 { padding-bottom: 12px; }
.pb-20 { padding-bottom: 20px; }

.pl-24 { padding-left: 24px; }
.pl-28 { padding-left: 28px; }
.pl-64 { padding-left: 64px; }

.pt-6 { padding-top: 6px; }
.pt-8 { padding-top: 8px; }
.pt-28 { padding-top: 28px; }

.right-0 { right: 0; }
.right-32 { right: 32px; }
.right-n120 { right: -120px; }
.right-n200 { right: -200px; }

.top-0 { top: 0; }
.top-4 { top: 4px; }
.top-24 { top: 24px; }
.top-31 { top: 31px; }
.top-44 { top: 44px; }
.top-50pc { top: 50%; }
.top-60 { top: 60px; }
.top-84 { top: 84px; }
.top-288 { top: 288px; }
.top-n4 { top: -4px; }
.top-n200 { top: -200px; }
.top-var { top: var(--top); }
