@font-face { font-family: "STK Bureau Sans"; src: url("/static/fonts/stk-bureau-sans-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "STK Bureau Sans"; src: url("/static/fonts/stk-bureau-sans-medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "STK Bureau Sans"; src: url("/static/fonts/stk-bureau-sans-semibold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "STK Bureau Sans"; src: url("/static/fonts/stk-bureau-sans-bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

html { scroll-behavior: smooth; }
body { font-family: "STK Bureau Sans", Arial, sans-serif; background: #f4f4f5; color: #1a1c21; letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; margin: 0; }
.fancytext { font-family: "Cinzel Decorative", serif; font-weight: 500; }
.muted { color: #8b8d92; }
.navlink { font-size: 14px; color: #1a1c21; padding: 6px 10px; border-radius: 8px; }
.navlink:hover { background: rgba(26,28,33,.05); }
.faq { padding: 0; font-size: 16.5px; line-height: 1.7; color: #45474d; text-wrap: pretty; }
.faq > :first-child { margin-top: 0; }
.faq { counter-reset: faq-sec; }
.faq h3 { counter-increment: faq-sec; }
.faq h3::before { content: counter(faq-sec, upper-roman) "."; color: #8b8d92; margin-right: .4em; }
.faq h1 { font-size: clamp(30px, 3.6vw, 40px); line-height: 1.12; font-weight: 500; letter-spacing: -0.04em; color: #1a1c21; margin: 0; text-wrap: balance; }
.faq h3 { font-size: clamp(24px, 2.6vw, 30px); line-height: 1.12; font-weight: 400; letter-spacing: -0.035em; color: #1a1c21; margin: 0 0 28px; text-wrap: balance; }
.faq h4 { font-size: 22px; line-height: 1.25; font-weight: 400; letter-spacing: -0.02em; color: #1a1c21; margin: 72px 0 8px; padding-top: 28px; border-top: 1px solid rgba(26,28,33,.1); }
.faq hr { border: 0; height: 0; margin: 104px 0 0; }
.faq hr + h3 { margin-top: 0; }
.faq hr + h4 { margin-top: 0; }
.faq p { margin: 0 0 1em; }
.faq p, .faq li, .faq td + td { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.faq p.faq-q { text-align: left; hyphens: manual; }
.faq strong { color: #1a1c21; font-weight: 600; }
.faq em { font-style: italic; }
.faq a { color: #7f1d1d; text-decoration: underline; text-underline-offset: 2px; }
.faq code { font-family: inherit; font-size: inherit; font-weight: 500; color: #1a1c21; }

.faq p.faq-q { font-size: 19px; line-height: 1.4; font-weight: 500; letter-spacing: -0.015em; color: #1a1c21; margin: 44px 0 10px; }
.faq h4 + p.faq-q { margin-top: 20px; }

.faq ul, .faq ol { margin: 0 0 1.2em; padding: 0; list-style: none; }
.faq li { position: relative; margin: 0 0 .85em; }
.faq ul > li { padding-left: 22px; }
.faq ul > li::before { content: ""; position: absolute; left: 3px; top: .72em; width: 6px; height: 6px; border-radius: 999px; background: #7f1d1d; }
.faq ol { counter-reset: faq; }
.faq ol > li { counter-increment: faq; padding-left: 34px; }
.faq ol > li::before { content: counter(faq); position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 999px; background: rgba(127,29,29,.08); color: #7f1d1d; font-size: 12px; line-height: 22px; text-align: center; font-weight: 600; }

.faq table { width: 100%; margin: 8px 0 0; border-collapse: collapse; font-size: 15px; line-height: 1.6; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 1px rgba(26,28,33,.05), 0 1px 2px rgba(20,24,32,.04); }
.faq th { text-align: left; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .07em; color: #8b8d92; padding: 18px 24px 12px; }
.faq td { padding: 22px 24px; vertical-align: top; border-top: 1px solid rgba(26,28,33,.07); }
.faq td:first-child { width: 30%; font-size: 17px; line-height: 1.35; letter-spacing: -0.015em; color: #1a1c21; }
.faq td:first-child strong { font-weight: 500; }

.faq-sec { padding: 96px max(24px, calc((100% - 1136px) / 2)); }
.faq-sec:first-child:has(> h1) { padding-top: 96px; padding-bottom: 0; }
.faq { background: radial-gradient(90% 100% at 15% 0%, rgba(185,141,134,.28) 0%, rgba(217,195,189,.14) 45%, transparent 100%) no-repeat top / 100% 720px; }
.faq-sec:first-child:has(> h1) + .faq-sec { padding-top: 56px; }
.faq-sec:last-child { padding-bottom: 120px; }
.faq-split { display: grid; gap: 16px; padding: 40px 0; border-top: 1px solid rgba(26,28,33,.1); }
.faq-split--head { border-top: 0; padding-top: 0; }
.faq-split:not(.faq-split--head) { --band: transparent; padding: 64px 0; border-top: 0; background: var(--band); box-shadow: 0 0 0 100vmax var(--band); clip-path: inset(0 -100vmax); }
.faq-split:not(.faq-split--head):nth-child(even) { --band: #ffffff; }
.faq-split--head + .faq-split { margin-top: 48px; }
.faq-split--head .faq-body { font-size: 18px; line-height: 1.6; }
.faq-split .faq-aside h3, .faq-split .faq-aside p.faq-q { margin: 0; }
.faq-split .faq-aside h3 { font-size: clamp(22px, 2.2vw, 26px); }
.faq-split .faq-aside p.faq-q { font-size: 19px; line-height: 1.3; font-weight: 400; letter-spacing: -0.02em; }
.faq-body { max-width: 760px; }
.faq-body > :last-child { margin-bottom: 0; }
@media (min-width: 900px) {
  .faq-split { grid-template-columns: 4fr 8fr; gap: 56px; }
  .faq-aside { position: sticky; top: 96px; align-self: start; }
}

.faq-intro { max-width: 760px; }
.faq-layout { display: grid; gap: 32px; margin-top: 40px; }
.faq-main { max-width: 780px; min-width: 0; }
.faq-main h4:first-child { margin-top: 0; }
.faq-toc { display: none; }
@media (min-width: 1000px) {
  .faq-layout { grid-template-columns: 260px 1fr; gap: 72px; }
  .faq-toc { display: grid; gap: 2px; position: sticky; top: 96px; align-self: start; }
}
.faq .faq-toc a { display: flex; gap: 10px; padding: 9px 12px; border-radius: 9px; font-size: 14px; line-height: 1.35; color: #5a5c62; text-decoration: none; transition: background .15s, color .15s; }
.faq .faq-toc a:hover { background: rgba(26,28,33,.05); color: #1a1c21; }
.faq .faq-toc a.on { background: #fff; color: #1a1c21; box-shadow: 0 0 0 1px rgba(26,28,33,.05), 0 1px 2px rgba(20,24,32,.06); }
.faq .faq-toc a b { font-weight: 500; color: #7f1d1d; width: 14px; flex: none; }
.faq h4[id] { scroll-margin-top: 96px; }
@media (max-width: 640px) {
  .faq { font-size: 16px; }
  .faq-sec { padding-top: 64px; padding-bottom: 64px; }
  .faq table, .faq tbody, .faq tr, .faq td { display: block; width: auto !important; }
  .faq thead { display: none; }
  .faq td:first-child { padding-bottom: 4px; }
  .faq td + td { border-top: 0; padding-top: 0; }
}

@media print {
  @page { margin: 18mm 16mm; }
  header, footer, #mobilemenu, .faq-toc { display: none !important; }
  body { background: #fff; color: #000; }
  .faq { background: none; max-width: none; padding: 0; font-size: 10.5pt; line-height: 1.5; color: #000; }
  .faq strong, .faq code, .faq h1, .faq h3, .faq h4, .faq p.faq-q { color: #000; }
  .faq a { color: inherit; text-decoration: none; }
  .faq h1 { font-size: 20pt; margin-bottom: 4pt; }
  .faq h3, .faq-split .faq-aside h3 { font-size: 15pt; margin: 0 0 10pt; }
  .faq h3::before { color: #000; }
  .faq h4 { font-size: 12.5pt; margin: 18pt 0 4pt; padding-top: 10pt; border-top: 0.5pt solid #999; }
  .faq p.faq-q, .faq-split .faq-aside p.faq-q { font-size: 11pt; font-weight: 600; margin: 12pt 0 4pt; }
  .faq h1, .faq h3, .faq h4, .faq p.faq-q, .faq-aside { break-after: avoid; page-break-after: avoid; }
  .faq p, .faq li { orphans: 3; widows: 3; }
  .faq-sec, .faq-sec:first-child:has(> h1), .faq-sec:first-child:has(> h1) + .faq-sec, .faq-sec:last-child { padding: 0; background: none; }
  .faq-sec + .faq-sec { margin-top: 22pt; }
  .faq-split, .faq-split:not(.faq-split--head), .faq-layout { display: block; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; clip-path: none; }
  .faq-aside { position: static; }
  .faq-body, .faq-main, .faq-intro { max-width: none; }
  .faq-split--head .faq-body { font-size: inherit; line-height: inherit; }
  .faq table { box-shadow: none; border-radius: 0; background: none; font-size: 9.5pt; }
  .faq th { color: #000; padding: 4pt 6pt; border-bottom: 0.75pt solid #000; }
  .faq td { padding: 6pt; border-top: 0.5pt solid #bbb; }
  .faq td:first-child { font-size: 10pt; width: 26%; }
  .faq tr { break-inside: avoid; page-break-inside: avoid; }
}

