@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=block");
.sc-placeholder { background: color-mix(in srgb, currentcolor 8%, transparent); border: 1px solid color-mix(in srgb, currentcolor, transparent); border-radius: 2px; box-sizing: border-box; overflow: hidden; }
@keyframes sc-shine { 
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
html.sc-dc-streaming .sc-placeholder, html.sc-dc-streaming .sc-interp.sc-missing { position: relative; background: color-mix(in srgb, currentcolor 5%, transparent); border-color: transparent; }
html.sc-dc-streaming .sc-placeholder::before, html.sc-dc-streaming .sc-interp.sc-missing::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(90deg, rgba(217, 119, 87, 0) 25%, rgba(247, 225, 211, 0.95) 37%, rgba(217, 119, 87, 0) 63%) 0% 0% / 400% 100%; animation: 1.4s ease 0s infinite normal none running sc-shine; }
html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before, html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before { animation: auto ease 0s 1 normal none running none; background: color-mix(in srgb, currentcolor 8%, transparent); }
.sc-placeholder-error { padding: 4px 8px; font: 11px / 1.4 ui-monospace, monospace; color: color-mix(in srgb, currentcolor 70%, transparent); word-break: break-word; }
.sc-interp.sc-missing { display: inline-block; width: 2em; height: 1em; overflow: hidden; vertical-align: text-bottom; background: rgba(255, 255, 255, 0.3); border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 2px; box-sizing: border-box; color: transparent; user-select: none; }
.sc-interp.sc-unresolved { font-family: ui-monospace, monospace; font-size: 0.85em; color: color-mix(in srgb, currentcolor, transparent); background: color-mix(in srgb, currentcolor 10%, transparent); border-radius: 3px; padding: 0px 3px; }
.sc-host.sc-has-error { position: relative; }
.sc-logic-error { position: absolute; top: 8px; left: 8px; z-index: 2147483647; max-width: 60ch; padding: 6px 10px; background: rgb(176, 0, 32); color: rgb(255, 255, 255); font: 12px / 1.4 ui-monospace, monospace; border-radius: 4px; white-space: pre-wrap; pointer-events: none; }
@media print {
  @page { margin: 0.5cm; }
  figure, table { break-inside: avoid; }
  #dc-root, #dc-root > .sc-host { height: auto; }
  *, ::before, ::after { print-color-adjust: exact; backdrop-filter: none !important; animation-delay: -99s !important; animation-duration: 0.001s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; animation-play-state: running !important; transition-duration: 0s !important; }
}
x-dc { display: none !important; }
.scp0:hover { color: rgb(180, 72, 42) !important; }
.scp1:hover { background: rgb(248, 250, 250) !important; color: rgb(168, 68, 42) !important; }
.scp2:hover { background: rgb(168, 68, 42) !important; }
.scp3:hover { background: rgb(35, 56, 61) !important; color: rgb(255, 255, 255) !important; }
.scp4:hover { color: rgb(168, 68, 42) !important; border-bottom-color: rgb(232, 104, 64) !important; }
.scp5:hover { background: rgb(248, 250, 250) !important; }
.scp6:hover { background: rgb(45, 68, 73) !important; }
.scp7:hover { color: rgb(168, 68, 42) !important; }
.scp8:hover { border-color: rgb(232, 104, 64) !important; color: rgb(168, 68, 42) !important; }
.scp9:hover { color: rgb(35, 56, 61) !important; }
.scpa:hover { background: rgb(213, 90, 52) !important; }
.scpb:hover { color: rgb(168, 68, 42) !important; box-shadow: rgb(232, 104, 64) 0px 0px 0px 2px inset !important; }
.scpc:hover { color: rgb(255, 255, 255) !important; text-decoration: underline !important; }
html, body { height: 100%; margin: 0px; }
#dc-root, #dc-root > .sc-host { height: 100%; }

:root { --color-bg: #f3f2f2; --color-surface: #eae9e9; --color-text: #201e1d; --color-accent: #ec3013; --color-accent-2: #e15b47; --color-divider: color-mix(in srgb, #201e1d 40%, transparent); --color-neutral-100: #f8f4f4; --color-neutral-200: #eae7e7; --color-neutral-300: #d7d3d3; --color-neutral-400: #bab6b6; --color-neutral-500: #9b9797; --color-neutral-600: #7d7979; --color-neutral-700: #605d5d; --color-neutral-800: #444141; --color-neutral-900: #2d2b2b; --color-accent-100: #fff2ef; --color-accent-200: #ffe0d9; --color-accent-300: #ffc4b8; --color-accent-400: #ff9783; --color-accent-500: #ff563c; --color-accent-600: #dd2b0f; --color-accent-700: #ae1800; --color-accent-800: #7c1405; --color-accent-900: #4d170e; --color-accent-2-100: #fff2ef; --color-accent-2-200: #ffe0da; --color-accent-2-300: #ffc4b9; --color-accent-2-400: #ff9784; --color-accent-2-500: #ef6853; --color-accent-2-600: #c94b39; --color-accent-2-700: #9e3526; --color-accent-2-800: #71261b; --color-accent-2-900: #471d16; --font-heading: "Archivo", system-ui, sans-serif; --font-heading-weight: 800; --font-body: "Archivo", system-ui, sans-serif; --space-1: 4.0px; --space-2: 8.0px; --space-3: 12.0px; --space-4: 16.0px; --space-6: 24.0px; --space-8: 32.0px; --radius-sm: 0px; --radius-md: 0px; --radius-lg: 0px; --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent); --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent); --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent); }
body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }
.grayscale { filter: grayscale(1) contrast(1.08); }
*, ::before, ::after { box-sizing: border-box; }
body { margin: 0px; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2); }
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; }
h6 { letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
figure { margin: 0px; }
figcaption { font-size: 11px; margin-top: var(--space-1); color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }
.hr { height: 2px; border: 0px; margin: var(--space-4) 0; background: var(--color-divider); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; text-decoration: none; font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 14px; line-height: 1.2; color: var(--color-text); background: transparent; border: 1px solid transparent; padding: var(--space-2) calc(var(--space-3) * 1.2); border-radius: var(--radius-md); }
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }
.btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.btn-ghost:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }
.btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 18%, transparent); }
.btn-icon { width: 36px; height: 36px; padding: 0px; }
.btn-block { width: 100%; margin-top: var(--space-2); justify-content: flex-start; text-align: left; }
.field > label { display: block; font-size: 12px; margin-bottom: 5px; color: color-mix(in srgb, var(--color-text) 70%, transparent); }
.input { width: 100%; min-height: 36px; padding: 6px 10px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; color: var(--color-text); caret-color: var(--color-accent); background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-md); }
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0px; }
textarea.input { min-height: 90px; resize: vertical; }
.radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.radio input, .seg-opt input { position: absolute; opacity: 0; width: 0px; height: 0px; pointer-events: none; }
.radio .dot { width: 16px; height: 16px; flex: 0 0 auto; border-radius: 50%; border: 1.5px solid var(--color-divider); }
.radio:hover .dot { border-color: var(--color-accent); }
.radio input:checked + .dot { border-color: var(--color-accent); background: var(--color-accent); box-shadow: inset 0 0 0 4px var(--color-bg); }
.radio input:focus-visible + .dot { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.seg { display: inline-flex; overflow: hidden; border: 1px solid var(--color-divider); border-radius: var(--radius-md); }
.seg-opt { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; font-size: 13px; cursor: pointer; }
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt:has(input:checked) { background: var(--color-accent); color: var(--color-bg); }
.seg-opt:not(:has(input:checked)):hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: -2px; }
.card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface); }
.card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.card-title { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 17px; line-height: 1.2; }
.card-body { margin: 0px; font-size: 13px; opacity: 0.8; flex: 1 1 0%; }
.card-meta { display: flex; align-items: center; gap: 6px; font-size: 11px; color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.elev-sm { box-shadow: var(--shadow-sm); }
.elev-md { box-shadow: var(--shadow-md); }
.elev-lg { box-shadow: var(--shadow-lg); }
.tag { display: inline-flex; align-items: center; font-size: 11px; letter-spacing: 0.02em; padding: 3px 10px; border-radius: calc(var(--radius-md) * 0.75); }
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }
.nav { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-4); border-bottom: 2px solid var(--color-divider); }
.nav-brand { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 18px; margin-right: auto; }
.nav a { color: inherit; text-decoration: none; font-size: 14px; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--color-accent); }
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th { text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 60%, transparent); padding: var(--space-2); border-bottom: 2px solid var(--color-divider); }
.table td { padding: var(--space-2); border-bottom: 1px solid var(--color-divider); }
.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }
.dialog-backdrop { position: fixed; inset: 0px; display: grid; place-items: center; padding: var(--space-4); background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent); }
.dialog { width: min(440px, 100%); display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-lg); }
.dialog-title { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 20px; }
.dialog-body { font-size: 14px; opacity: 0.85; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }
x-dc { display: none; }
html.dc-boot:not(.dc-ready) #dc-root { position: absolute; left: 0px; right: 0px; top: 0px; visibility: hidden; pointer-events: none; }
:root { --color-bg: #ffffff; --color-surface: #f8fafa; --color-text: #23383d; --color-accent: #e86840; --color-accent-600: #d55a34; --color-accent-700: #a8442a; --color-divider: #23383d; --line: #23383d; --line-soft: #d2dadb; --radius-sm: 10px; --radius-md: 12px; --radius-lg: 0px; }
body { margin: 0px; background: rgb(255, 255, 255); color: rgb(35, 56, 61); -webkit-font-smoothing: antialiased; }
a { color: rgb(168, 68, 42); text-decoration: none; }
a:hover { color: rgb(232, 104, 64); }
input, button, select, textarea { font-family: Archivo, sans-serif; }
* { box-sizing: border-box; }
.btn { text-align: center; max-width: 100%; justify-content: center; border-radius: 999px; font-weight: 700; border: 0px; transition: background 0.16s, box-shadow 0.18s, color 0.16s; }
.btn-primary { background: rgb(232, 104, 64); color: rgb(255, 255, 255); }
.btn-primary:hover { background: rgb(213, 90, 52); }
.btn-primary:active { background: rgb(194, 80, 45); }
.btn-secondary { background: rgb(255, 255, 255); color: rgb(35, 56, 61); box-shadow: rgb(35, 56, 61) 0px 0px 0px 2px inset; }
.btn-secondary:hover { box-shadow: rgb(232, 104, 64) 0px 0px 0px 2px inset; color: rgb(168, 68, 42); }
.tap { font: inherit; color: inherit; background: none; border: 0px; padding: 0px; margin: 0px; text-align: left; cursor: pointer; appearance: none; box-sizing: border-box; transition: background 0.16s, border-color 0.16s, color 0.16s; }
.tap:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible { outline: rgb(232, 104, 64) solid 2px; outline-offset: 2px; }
input, textarea, select { border-radius: 12px; }
.rail-link { display: inline-flex; align-items: center; color: rgb(255, 255, 255); border-bottom: 1px solid rgb(232, 104, 64); }
@media (max-width: 700px) {
  .rail { padding-top: 0px; padding-bottom: 0px; }
  .rail-link { min-height: 44px; font-size: 12px; }
}
.navdesk { display: flex; flex-wrap: nowrap; gap: 22px; margin-left: auto; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; align-items: center; }
.navdesk > a, .navdesk button { white-space: nowrap; }
@media (max-width: 1180px) {
  .navdesk { gap: 15px; font-size: 12px; letter-spacing: 0.03em; }
  .navquote { padding: 10px 13px; font-size: 12px; }
}
@media (max-width: 1000px) {
  .navquote { display: none; }
}
.navburger { display: none; }
.navdrawer { display: none; }
.mobilecta { display: none; }
@media (max-width: 860px) {
  .mobilecta { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 60; border-top: 1px solid rgb(227, 232, 233); }
  .sheet { padding-bottom: 64px; }
}
.mobilecta > * { min-height: 60px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px 12px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.2; text-decoration: none; cursor: pointer; border: 0px; }
.homerow { display: grid; grid-template-columns: minmax(0px, 1fr); }
.homemain { min-width: 0px; }
.homeside { min-width: 0px; border-top: 1px solid rgb(227, 232, 233); display: flex; flex-direction: column; overflow: hidden; }
.homesticky { background: rgb(248, 250, 250); border-bottom: 1px solid rgb(227, 232, 233); display: flex; flex-direction: column; }
.tabrow { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px; background: transparent; }
.homesticky > div { width: 100%; max-width: 880px; margin: 0px auto; box-sizing: border-box; }
.tabrow > div { display: contents; }
.tabbtn { padding: 9px 14px; min-height: 46px; flex: 1 1 180px; min-width: 0px; display: inline-flex; align-items: center; justify-content: center; text-align: center; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.15; box-sizing: border-box; }
@media (max-width: 520px) {
  .tabbtn { padding: 9px 10px; font-size: 11px; letter-spacing: 0.02em; flex: 1 1 100%; }
}
.sheet, .sheet * { min-width: 0px; }
.sheet p, .sheet h1, .sheet h2, .sheet h3, .sheet h4, .sheet li, .sheet td, .sheet th, .sheet a, .sheet div { overflow-wrap: break-word; }
.cardgrid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 16px; }
.cardgrid > a { border: 1px solid rgb(230, 234, 235); border-radius: 20px; min-width: 0px; }
@media (max-width: 1100px) {
  .cardgrid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 620px) {
  .cardgrid { grid-template-columns: minmax(0px, 1fr); }
}
.tblwrap { width: 100%; overflow-x: auto; }
.tblwrap table { min-width: 640px; border-collapse: collapse; }
.tblwrap thead th { border-bottom: 1px solid rgb(227, 232, 233); padding: 10px 18px 10px 0px; text-align: left; vertical-align: bottom; }
.tblwrap tbody td { border-bottom: 1px solid rgb(210, 218, 219); padding: 14px 18px 14px 0px; vertical-align: top; }
.tblwrap th:last-child, .tblwrap td:last-child { padding-right: 0px; text-align: right; }
.tblwrap tbody tr:last-child td { border-bottom: 0px; }
.tblhint { display: none; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: rgb(65, 86, 90); margin-top: 10px; }
@media (max-width: 760px) {
  .tblwrap { border-bottom: 1px solid rgb(227, 232, 233); }
  .tblhint { display: block; }
}
html, body { overflow-x: hidden; }
.sheet { max-width: 100%; }
.sidenote { background: rgb(255, 255, 255); min-width: 0px; padding: clamp(26px, 3vw, 38px) clamp(20px, 3.5vw, 44px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 28px 40px; align-items: start; max-width: 1220px; margin: 0px auto; box-sizing: border-box; }
.btn:disabled, .btn[disabled] { opacity: 0.45; cursor: not-allowed; }
@media (max-width: 860px) {
  .navdesk { display: none; }
  .navburger { display: flex; margin-left: auto; }
  .navquote { display: none; }
  .navdrawer { display: flex; }
  .indpanel { display: none; }
}
body { background: rgb(244, 246, 246); }
.sheet { max-width: 1280px; margin: 0px auto; border-left: 1px solid rgb(227, 232, 233); border-right: 1px solid rgb(227, 232, 233); }
@media (max-width: 1320px) {
  .sheet { border-left: 0px; border-right: 0px; }
}
.svcgrid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 16px; }
@media (max-width: 1040px) {
  .svcgrid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 560px) {
  .svcgrid { grid-template-columns: minmax(0px, 1fr); }
}
.indwrap { position: relative; }
.indpanel { position: absolute; top: calc(100% + 13px); left: auto; right: 0px; z-index: 40; background: rgb(255, 255, 255); border: 1px solid rgb(227, 232, 233); width: 560px; max-width: calc(-40px + 100vw); max-height: calc(-120px + 100vh); overflow: auto; display: grid; grid-template-columns: 1fr 1fr; }
.morepanel { position: absolute; top: calc(100% + 13px); left: 0px; z-index: 40; background: rgb(255, 255, 255); border: 1px solid rgb(227, 232, 233); min-width: 230px; display: flex; flex-direction: column; }
.contactgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 0px 28px; }
@media (min-width: 900px) {
  .pagehead { display: grid; grid-template-columns: minmax(0px, 0.92fr) minmax(0px, 1fr); column-gap: clamp(36px, 4.5vw, 72px); align-items: start; grid-auto-rows: min-content; }
  .pagehead > h1 { grid-area: 1 / 1 / span 99; }
  .pagehead > :not(h1) { grid-column: 2; }
  .pagehead > .contactgrid { grid-column: 1 / -1; margin-top: 8px; }
}
@media (min-width: 900px) {
  .pagehead > .pagelead { grid-area: 1 / 1 / span 99; }
}
@media (max-width: 899px) {
  .pagelead svg { max-width: 240px !important; }
}
body { background: rgb(250, 246, 243); }
.sheet { border-left-color: rgb(236, 230, 225); border-right-color: rgb(236, 230, 225); }
.cardgrid, .svcgrid { gap: 16px; border: 0px !important; }
.cardgrid > a, .svcgrid > * { border-radius: 20px; overflow: hidden; transition: transform 0.18s, box-shadow 0.18s, background 0.16s; border: 1px solid rgb(230, 234, 235) !important; }
.cardgrid > a:hover, .svcgrid > :hover { transform: translateY(-2px); box-shadow: rgba(35, 56, 61, 0.35) 0px 12px 28px -16px; }
.indpanel, .morepanel { border-radius: 16px; overflow: hidden; box-shadow: rgba(35, 56, 61, 0.4) 0px 18px 40px -20px; }
.indpanel { overflow: hidden auto; }