/* Server identity and player-facing FAQs. */
.si-page { min-width: 0; padding-top: 56px; }
.si-page h1, .si-page h2, .si-page h3 { font-family: var(--serif); font-weight: 500; }
.si-page h2 { font-size: 37px; line-height: 1.13; }
.si-page p { line-height: 1.85; }
.si-page .si-inline-link { display: inline; margin: 0; padding: 0; min-height: 0; color: #dec58f; font-size: inherit; line-height: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: #b79c65; }
.si-page .si-inline-link:hover { color: #f2deae; text-decoration-color: currentColor; }
.si-page .si-inline-link:focus-visible { outline: 2px solid #dfc58d; outline-offset: 3px; border-radius: 2px; color: #f2deae; }
.si-page .eyebrow { font-size: 9px; letter-spacing: .2em; }
.si-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.si-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 70px; padding-bottom: 53px; }
.si-hero-copy { min-width: 0; }
.si-hero-copy > .eyebrow { margin-bottom: 21px; }
.si-hero h1 { color: #eee7d9; font-size: clamp(43px, 4.5vw, 64px); line-height: .99; letter-spacing: -.025em; margin-bottom: 25px; }
.si-hero h1 em { font-weight: 400; color: #d7be8c; }
.si-hero-lead { max-width: 550px; font-size: 13px; color: #9cabc0; }
.si-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.si-hero-actions .btn { font-size: 11px; padding: 12px 17px; }
.si-hero-actions .icon { width: 15px; height: 15px; }
.si-hero-caption { margin-top: 23px; font-size: 10px; color: #7f91ab; }
.si-spec-sheet { border: 1px solid #d7ba7d36; border-radius: 11px; background: radial-gradient(ellipse at 90% 0, #cab17b0c, transparent 70%), #0d1828; padding: 28px 28px 21px; position: relative; }
.si-spec-sheet::before { content: ''; position: absolute; inset: 7px; border: 1px solid #cdb37b0c; border-radius: 7px; pointer-events: none; }
.si-spec-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 23px; }
.si-spec-heading .eyebrow { font-size: 7px; margin-bottom: 10px; color: #9f8c67; }
.si-spec-heading h2 { font-size: 30px; color: #e5dbc8; }
.si-spec-heading img { width: 42px; height: 50px; object-fit: contain; opacity: .8; }
.si-identity-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #d2b77c23; border-bottom: 1px solid #d2b77c23; }
.si-identity-strip > div { min-width: 0; padding: 19px 14px; border-right: 1px solid #a9bfdc12; }
.si-identity-strip > div:nth-child(3n) { border-right: 0; }
.si-identity-strip > div:nth-child(-n+3) { border-bottom: 1px solid #a9bfdc12; }
.si-identity-strip dt { color: #8497b1; font: 9px/1.6 var(--sans); margin-bottom: 8px; }
.si-identity-strip dd { margin: 0; color: #e1c88f; font: 500 26px/1.2 var(--serif); white-space: nowrap; font-variant-numeric: tabular-nums; }
.si-identity-strip > div:first-child dd { font-size: 23px; }
.si-identity-strip > div:nth-child(3) dd { font-size: 23px; }
.si-identity-strip > .si-identity-cap { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border-top: 1px solid #a9bfdc12; border-right: 0; }
.si-identity-cap dt { margin-bottom: 0; }
.si-spec-note { margin-top: 17px; color: #7f91aa; font-size: 10px; }
.si-foundation { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 70px; padding: 39px 0 42px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.si-foundation .eyebrow { font-size: 8px; margin-bottom: 13px; }
.si-foundation h2 { color: #e4dece; }
.si-foundation > div:last-child { padding-top: 2px; }
.si-foundation > div:last-child p { font-size: 13px; color: #99aac1; max-width: 680px; }
.si-foundation > div:last-child p + p { margin-top: 14px; }
.si-improvements { padding-top: 46px; }
.si-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 25px; }
.si-section-heading h2 { color: #e4ddce; font-size: 35px; }
.si-section-heading .eyebrow { font-size: 8px; margin-bottom: 11px; }
.si-section-heading > p { max-width: 230px; color: #8c9db5; font-size: 11px; padding-bottom: 2px; }
.si-preview-label { color: #8d9db4; font-size: 9px; padding: 7px 10px; border: 1px solid #a9bfdc1c; border-radius: 4px; white-space: nowrap; }
.si-improvement-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.si-improvement-card { display: flex; flex-direction: column; min-width: 0; padding: 26px 23px 20px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(140deg, #12203688, #0b152344); }
.si-improvement-icon { display: flex; align-items: center; width: 36px; height: 36px; margin-bottom: 19px; color: #c4ac7a; }
.si-improvement-icon .icon { width: 27px; height: 27px; stroke-width: 1.2; }
.si-improvement-card h3 { color: #e1dbc9; font-size: 27px; line-height: 1.1; margin-bottom: 13px; }
.si-improvement-card p { color: #8d9fb9; font-size: 11px; margin-bottom: 22px; flex: 1; }
.si-improvement-card a, .si-faq-links a, .si-next-step a { display: inline-flex; align-items: center; justify-content: space-between; gap: 13px; color: #cbb589; font-size: 10px; min-height: 30px; }
.si-improvement-card a:hover, .si-faq-links a:hover, .si-next-step a:hover { color: #f0ddba; }
.si-improvement-card a .icon, .si-faq-links a .icon, .si-next-step a .icon { width: 14px; height: 14px; }
.si-fairplay { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 27px 70px; padding: 39px 42px; margin: 43px 0 54px; border: 1px solid #d0b57b37; border-radius: 10px; background: radial-gradient(ellipse at 0 20%, #ba9e5d0b, transparent 70%), #0c1726; }
.si-fairplay-emblem { display: flex; align-items: center; justify-content: center; width: 42px; height: 50px; color: #cbb37e; margin-bottom: 20px; border: 1px solid #cdb17a33; border-radius: 5px 5px 20px 20px; }
.si-fairplay-emblem .icon { width: 24px; height: 24px; stroke-width: 1.2; }
.si-fairplay-copy .eyebrow { font-size: 8px; color: #ac966b; margin-bottom: 12px; }
.si-fairplay-copy h2 { color: #e9ddc6; font-size: 41px; margin-bottom: 16px; }
.si-fairplay-motto { font-size: 11px; color: #c7b180; }
.si-fairplay-rule { align-self: center; }
.si-fairplay-rule > p:first-child { font-size: 12px; color: #9dacc1; }
.si-fairplay-rule ul { margin: 22px 0 19px; padding: 0; list-style: none; display: grid; gap: 13px; }
.si-fairplay-rule li { display: flex; align-items: flex-start; gap: 12px; font-size: 11px; color: #c9d2df; }
.si-fairplay-rule li .icon { color: #b9af8c; width: 15px; height: 15px; margin-top: 2px; }
.si-policy-note { padding-top: 16px; border-top: 1px solid #d1b67b1c; color: #8094ae; font-size: 9px; }
.si-faq-section { scroll-margin-top: 135px; }
#si-faq-title { scroll-margin-top: 135px; }
.si-faq-panel { border: 1px solid var(--line); border-radius: 10px; background: #0c1725; overflow: hidden; }
.si-faq-toolbar { display: flex; align-items: center; gap: 22px; padding: 24px 27px 19px; }
.si-faq-search { display: flex; align-items: center; flex: 1; gap: 10px; padding: 0 13px; border: 1px solid #a9bfdc27; border-radius: 6px; background: #091321; min-width: 0; margin: 0; }
.si-faq-search:focus-within { border-color: #d8bc8070; }
.si-faq-search > .icon { width: 17px; height: 17px; color: #7c91ad; }
.si-faq-search input { border: 0; background: none; outline: none; padding: 12px 0; min-width: 0; font-size: 12px; }
.si-faq-search input:focus-visible { outline: none; }
.si-reset-button { background: none; color: #bca879; font-size: 10px; display: inline-flex; align-items: center; gap: 9px; padding: 8px 0; white-space: nowrap; }
.si-reset-button[hidden] { display: none; }
.si-reset-button .icon { width: 13px; height: 13px; }
.si-faq-categories { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 0 27px 20px; border-bottom: 1px solid #a9bfdc16; }
.si-faq-categories button { background: transparent; padding: 8px 14px; border: 1px solid #a9bfdc18; border-radius: 5px; font-size: 10px; color: #8e9fb8; min-height: 34px; }
.si-faq-categories button:hover, .si-faq-categories button.active { color: #dfc78f; background: #d8bc8008; border-color: #d8bc8050; }
.si-faq-result-summary { color: #7f93ae; font-size: 9px; line-height: 1.7; padding: 15px 28px 4px; overflow-wrap: anywhere; }
.si-faq-results { padding: 0 27px 12px; }
.si-faq-item { border-bottom: 1px solid #a9bfdc14; }
.si-faq-item:last-child { border-bottom: 0; }
.si-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; list-style: none; }
.si-faq-item summary::-webkit-details-marker { display: none; }
.si-faq-item summary > span:first-child { min-width: 0; }
.si-faq-item summary small { display: block; font-size: 8px; letter-spacing: .08em; color: #758ba7; margin-bottom: 6px; }
.si-faq-item summary strong { font-size: 13px; color: #cad6e5; font-weight: 500; line-height: 1.6; display: block; }
.si-faq-item summary:hover strong, .si-faq-item[open] summary strong { color: #dfc793; }
.si-faq-item summary:focus-visible { outline: 2px solid #d7ba7c; outline-offset: -1px; border-radius: 4px; }
.si-faq-toggle { display: grid; place-items: center; width: 29px; height: 29px; color: #aa956e; border: 1px solid #a9bfdc15; border-radius: 4px; flex-shrink: 0; }
.si-faq-toggle .icon { width: 13px; height: 13px; transition: transform .15s ease; }
.si-faq-item[open] .si-faq-toggle .icon { transform: rotate(45deg); }
.si-faq-answer { padding: 0 50px 22px 0; max-width: 950px; }
.si-faq-answer p { color: #93a5bd; font-size: 12px; }
.si-faq-answer p + p { margin-top: 13px; }
.si-faq-links { display: flex; flex-wrap: wrap; gap: 9px 25px; margin-top: 13px; }
.si-faq-links a { justify-content: flex-start; font-size: 10px; }
.si-faq-empty { text-align: center; padding: 40px 20px 42px; }
.si-faq-empty > span { display: block; color: #ae9a71; margin-bottom: 17px; }
.si-faq-empty > span .icon { width: 30px; height: 30px; stroke-width: 1; }
.si-faq-empty h3 { font-size: 30px; color: #d8dfeb; margin-bottom: 10px; }
.si-faq-empty p { color: #8c9db7; font-size: 12px; }
.si-faq-empty .btn { margin-top: 20px; font-size: 11px; }
.si-next-step { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 45px; padding-top: 30px; border-top: 1px solid var(--line); }
.si-next-step .eyebrow { font-size: 8px; margin-bottom: 10px; }
.si-next-step h2 { font-size: 31px; color: #dfd5c2; margin-bottom: 10px; }
.si-next-step p:not(.eyebrow) { font-size: 11px; color: #8297b1; }
.si-next-step > div:last-child { display: grid; gap: 6px; min-width: 145px; }
.si-next-step a { font-size: 11px; }

@media (max-width: 1150px) {
  .si-hero { gap: 38px; }
  .si-spec-sheet { padding: 24px 20px 20px; }
  .si-spec-heading h2 { font-size: 28px; }
  .si-identity-strip > div { padding: 17px 9px; }
  .si-identity-strip > div:first-child dd, .si-identity-strip > div:nth-child(3) dd { font-size: 21px; }
  .si-improvement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .si-improvement-card { padding: 24px; }
  .si-improvement-card h3 { font-size: 28px; }
  .si-improvement-card p { max-width: 360px; }
  .si-foundation, .si-fairplay { column-gap: 38px; }
  .si-fairplay { padding: 34px; }
}

@media (max-width: 800px) {
  .si-hero { grid-template-columns: 1fr; gap: 32px; padding-bottom: 36px; }
  .si-hero h1 { font-size: 60px; }
  .si-hero-lead { max-width: 620px; }
  .si-spec-sheet { padding: 27px; }
  .si-spec-heading h2 { font-size: 31px; }
  .si-identity-strip > div { padding: 19px 15px; }
  .si-identity-strip > div:first-child dd, .si-identity-strip > div:nth-child(3) dd { font-size: 26px; }
  .si-foundation { grid-template-columns: 1fr; gap: 22px; padding: 31px 0; }
  .si-foundation h2 br { display: none; }
  .si-foundation h2 { font-size: 35px; }
  .si-fairplay { grid-template-columns: 1fr; gap: 25px; }
  .si-fairplay-emblem { float: right; margin: 0 0 10px 15px; }
  .si-fairplay-copy h2 { font-size: 41px; }
  .si-fairplay-copy h2 br { display: none; }
  .si-fairplay-rule > p:first-child { max-width: 630px; }
  .si-section-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .si-section-heading > p { max-width: none; }
  .si-next-step { align-items: flex-start; }
}

@media (max-width: 600px) {
  .si-page { padding-top: 36px; }
  .si-page .eyebrow { font-size: 8px; }
  .si-hero { gap: 27px; }
  .si-hero-copy > .eyebrow { margin-bottom: 19px; }
  .si-hero h1 { font-size: clamp(43px, 10vw, 57px); margin-bottom: 21px; }
  .si-hero-lead { font-size: 12px; }
  .si-hero-actions { gap: 10px; margin-top: 23px; }
  .si-hero-actions .btn { font-size: 10px; padding: 11px 13px; }
  .si-hero-caption { font-size: 9px; margin-top: 19px; }
  .si-spec-sheet { padding: 22px 18px 18px; }
  .si-spec-heading { gap: 12px; padding-bottom: 20px; }
  .si-spec-heading .eyebrow { font-size: 7px; }
  .si-spec-heading h2 { font-size: 27px; }
  .si-spec-heading img { width: 33px; height: 42px; }
  .si-identity-strip > div { padding: 16px 7px; }
  .si-identity-strip dt { font-size: 8px; margin-bottom: 7px; }
  .si-identity-strip dd { font-size: 26px; }
  .si-identity-strip > div:first-child dd, .si-identity-strip > div:nth-child(3) dd { font-size: 21px; }
  .si-spec-note { font-size: 9px; margin-top: 14px; }
  .si-foundation { padding: 29px 0 31px; gap: 20px; }
  .si-foundation h2 { font-size: 32px; max-width: 310px; }
  .si-foundation > div:last-child p { font-size: 12px; }
  .si-improvements { padding-top: 34px; }
  .si-section-heading { margin-bottom: 20px; gap: 14px; }
  .si-section-heading h2 { font-size: 32px; }
  .si-preview-label { font-size: 8px; padding: 6px 9px; }
  .si-improvement-grid { gap: 12px; }
  .si-improvement-card { padding: 21px 16px 16px; }
  .si-improvement-icon { margin-bottom: 15px; width: 29px; height: 29px; }
  .si-improvement-icon .icon { width: 24px; height: 24px; }
  .si-improvement-card h3 { font-size: 25px; }
  .si-improvement-card p { font-size: 10px; margin-bottom: 17px; }
  .si-improvement-card a { font-size: 9px; gap: 8px; line-height: 1.6; }
  .si-improvement-card a .icon { width: 12px; height: 12px; }
  .si-fairplay { margin: 32px 0 38px; padding: 25px 22px; gap: 23px; }
  .si-fairplay-copy h2 { font-size: 36px; max-width: 265px; }
  .si-fairplay-copy .eyebrow { font-size: 7px; max-width: 175px; }
  .si-fairplay-emblem { width: 34px; height: 43px; margin-left: 8px; }
  .si-fairplay-emblem .icon { width: 21px; height: 21px; }
  .si-fairplay-motto { font-size: 10px; }
  .si-fairplay-rule > p:first-child { font-size: 11px; }
  .si-fairplay-rule ul { gap: 12px; margin: 18px 0; }
  .si-fairplay-rule li { font-size: 10px; gap: 10px; }
  .si-policy-note { font-size: 9px; }
  .si-faq-toolbar { padding: 19px 18px 16px; gap: 12px; flex-wrap: wrap; }
  .si-faq-search { flex-basis: 100%; }
  .si-faq-search input { font-size: 11px; }
  .si-reset-button { font-size: 9px; padding: 0; }
  .si-faq-categories { padding: 0 18px 17px; gap: 7px; }
  .si-faq-categories button { font-size: 9px; padding: 7px 10px; min-height: 32px; }
  .si-faq-result-summary { padding: 14px 19px 3px; font-size: 8px; }
  .si-faq-results { padding: 0 18px 8px; }
  .si-faq-item summary { gap: 16px; padding: 18px 0; }
  .si-faq-item summary small { font-size: 7px; }
  .si-faq-item summary strong { font-size: 12px; }
  .si-faq-toggle { width: 25px; height: 25px; }
  .si-faq-answer { padding: 0 1px 19px 0; }
  .si-faq-answer p { font-size: 11px; }
  .si-faq-links { gap: 6px 15px; }
  .si-faq-links a { font-size: 9px; }
  .si-faq-empty { padding: 34px 8px; }
  .si-faq-empty p { font-size: 11px; }
  .si-next-step { flex-direction: column; gap: 22px; margin-top: 33px; padding-top: 26px; }
  .si-next-step h2 { font-size: 30px; }
  .si-next-step > div:last-child { display: flex; justify-content: space-between; gap: 12px; width: 100%; }
  .si-next-step a { font-size: 10px; gap: 8px; }
}

@media (max-width: 480px) {
  .si-hero h1 { font-size: 42px; }
  .si-spec-sheet { padding-left: 13px; padding-right: 13px; }
  .si-spec-heading h2 { font-size: 25px; }
  .si-spec-sheet .si-identity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .si-spec-sheet .si-identity-strip > div { border-right: 1px solid #a9bfdc12; border-bottom: 1px solid #a9bfdc12; }
  .si-spec-sheet .si-identity-strip > div:nth-child(2n) { border-right: 0; }
  .si-spec-sheet .si-identity-strip > div:nth-last-child(-n+3) { border-bottom: 0; }
  .si-spec-sheet .si-identity-strip > .si-identity-cap { border-right: 0; }
  .si-identity-strip > div:first-child dd, .si-identity-strip > div:nth-child(3) dd { font-size: 19px; }
  .si-improvement-grid { grid-template-columns: 1fr; }
  .si-improvement-card { padding: 21px; }
  .si-improvement-card h3 { font-size: 28px; }
  .si-improvement-card p { font-size: 11px; }
  .si-improvement-card a { font-size: 10px; }
  .si-next-step > div:last-child { flex-wrap: wrap; justify-content: flex-start; gap: 12px 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .si-faq-toggle .icon { transition: none; }
}


/* Server Info subsections: mounted in the previous preview-notice strip. */
.demo-notice.si-nav-strip { display: block; min-height: 53px; padding: 0; background: #0c1624; border-bottom: 1px solid #bba37427; }
.si-subnav { display: flex; align-items: center; gap: 32px; min-height: 53px; max-width: 1360px; padding: 0 42px; margin: 0 auto; min-width: 0; }
.si-subnav-label { color: #7e8fa7; font-size: 8px; font-weight: 500; letter-spacing: .18em; white-space: nowrap; }
.si-subnav-links { display: flex; align-items: stretch; gap: 28px; min-width: 0; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #bea67440 transparent; overscroll-behavior-x: contain; }
.si-subnav-links a { display: flex; align-items: center; flex: 0 0 auto; min-height: 53px; padding: 0 1px; border-bottom: 2px solid transparent; color: #99a9bd; font-size: 11px; letter-spacing: .01em; white-space: nowrap; }
.si-subnav-links a:hover { color: #e2d4b5; }
.si-subnav-links a[aria-current='page'] { color: #dec58f; border-bottom-color: #d5b67b; }
.si-subnav-links a:focus-visible { outline: 2px solid #d5b67b; outline-offset: -5px; border-radius: 4px; }
.si-subnav-end { margin-left: auto; color: #566b86; font-size: 7px; letter-spacing: .16em; white-space: nowrap; }

.si-page { padding-top: 25px; }
.si-page-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 35px; color: #7d91ad; font-size: 9px; }
.si-page-status > span { display: flex; align-items: center; gap: 8px; }
.si-page-status .demo-dot { display: inline-block; flex: 0 0 5px; box-shadow: none; opacity: .75; }
.si-page-status button { display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; min-height: 30px; padding: 0; background: none; color: #a89d83; font-size: 9px; }
.si-page-status button:hover { color: #e2c996; }
.si-page-status button .icon { width: 13px; height: 13px; }
.si-section-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 37px; }
.si-section-intro > div { min-width: 0; }
.si-section-intro .eyebrow { margin-bottom: 19px; }
.si-section-intro h1 { color: #eee7d9; font-size: clamp(43px, 4.5vw, 62px); line-height: 1.04; letter-spacing: -.025em; }
.si-section-intro h1 em { color: #d7be8c; font-weight: 400; }
.si-section-lead { max-width: 640px; margin-top: 23px; color: #9eacc1; font-size: 13px; }
.si-section-intro > .btn { margin-bottom: 4px; font-size: 11px; }
.si-guide-section { padding-top: 40px; }
.si-overview-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 29px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.si-overview-principles article { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.si-overview-principles article > span { display: grid; place-items: center; flex: 0 0 29px; height: 31px; margin-top: 3px; color: #bca77c; }
.si-overview-principles article > span .icon { width: 24px; height: 24px; stroke-width: 1.2; }
.si-overview-principles h2 { color: #dcd6c9; font-size: 28px; line-height: 1.1; margin-bottom: 12px; }
.si-overview-principles p { max-width: 310px; color: #91a3bb; font-size: 11px; }
.si-overview-principles a { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; font-size: 10px; color: #c8b486; }
.si-overview-principles a .icon { width: 13px; height: 13px; }
.si-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.si-guide-card { display: flex; align-items: center; gap: 21px; padding: 24px 26px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(135deg, #13203677, #0d172440); transition: border-color .18s, background .18s; }
.si-guide-card:hover { border-color: #ceb47c55; background: #142135; }
.si-guide-icon { display: grid; place-items: center; flex: 0 0 38px; height: 45px; color: #c3ac7b; }
.si-guide-icon .icon { width: 26px; height: 26px; stroke-width: 1.2; }
.si-guide-card > div { min-width: 0; flex: 1; }
.si-guide-card h3 { color: #e0d7c5; font-size: 29px; line-height: 1.1; margin-bottom: 9px; }
.si-guide-card p { color: #8599b2; font-size: 11px; }
.si-guide-arrow { color: #a28f69; flex: 0 0 18px; }
.si-guide-arrow .icon { width: 17px; height: 17px; }

.si-foundation-compact { padding-top: 30px; padding-bottom: 30px; }
.si-foundation-compact h2 { font-size: 34px; }
.si-foundation-compact > div:last-child p { font-size: 12px; }
.si-feature-status { display: flex; align-items: flex-start; gap: 11px; margin: 24px 0 14px; color: #8196b0; }
.si-feature-status > .icon { flex: 0 0 15px; width: 15px; height: 15px; margin-top: 3px; color: #a99266; }
.si-feature-status p { max-width: 920px; font-size: 10px; }
.si-differences-list { display: grid; }
.si-difference-card { display: grid; grid-template-columns: 31px 40px minmax(0, .95fr) minmax(0, 1.35fr); gap: 24px; align-items: start; padding: 32px 0; border-bottom: 1px solid var(--line); }
.si-difference-number { margin-top: 4px; color: #5e7390; font: 24px/1.2 var(--serif); }
.si-difference-icon { display: grid; place-items: center; width: 36px; height: 42px; margin-top: 5px; color: #bea77b; }
.si-difference-icon .icon { width: 28px; height: 28px; stroke-width: 1.15; }
.si-difference-title .eyebrow { margin-bottom: 10px; color: #aa956d; font-size: 8px; letter-spacing: .13em; }
.si-difference-title h2 { max-width: 330px; color: #e0dacd; font-size: 31px; line-height: 1.12; }
.si-difference-copy > p { font-size: 12px; color: #a0adc0; }
.si-difference-copy p.si-difference-detail { margin-top: 11px; color: #758ba6; font-size: 10px; }
.si-difference-copy a { display: inline-flex; align-items: center; gap: 10px; margin-top: 13px; color: #c9b385; font-size: 10px; }
.si-difference-copy a .icon { width: 13px; height: 13px; }

.si-shop-principle { display: flex; align-items: center; gap: 23px; padding: 24px 29px; border: 1px solid #cab27a32; border-radius: 9px; background: linear-gradient(110deg, #c4aa6c09, #0f1a2a77); }
.si-shop-principle > span { display: grid; place-items: center; flex: 0 0 43px; height: 53px; color: #cbb27e; }
.si-shop-principle > span .icon { width: 34px; height: 34px; stroke-width: 1.2; }
.si-shop-principle h2 { color: #e2d6c0; font-size: 31px; margin-bottom: 8px; }
.si-shop-principle p { color: #a7afbc; font-size: 12px; max-width: 850px; }
.si-limited-costumes { margin-block: 28px; border-color: #cab27a60; }
.si-limited-costumes .si-limited-quantity { margin-top: 14px; color: #e0c48e; }
.si-shop-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 29px; margin: 29px 0 40px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.si-shop-tools article { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.si-shop-tools article > span { display: grid; place-items: center; flex: 0 0 24px; height: 28px; color: #a89570; }
.si-shop-tools .icon { width: 21px; height: 21px; stroke-width: 1.3; }
.si-shop-tools h3 { font-size: 25px; line-height: 1.1; color: #d6d0c4; margin-bottom: 10px; }
.si-shop-tools p { color: #879bb6; font-size: 11px; }
.si-catalogue .si-section-heading { margin-bottom: 13px; }
.si-catalogue-note { color: #8d9fb6; font-size: 11px; margin-bottom: 24px; max-width: 830px; }
.si-shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.si-shop-search { position: relative; display: flex; align-items: center; gap: 11px; min-width: 0; flex: 1; max-width: 430px; margin: 0; padding: 0 13px; border: 1px solid #a9bfdc27; background: #0c1725; border-radius: 6px; }
.si-shop-search:focus-within { border-color: #d8bc8070; }
.si-shop-search > .icon { width: 17px; height: 17px; flex: 0 0 17px; color: #7e92ae; }
.si-shop-search input { min-width: 0; padding: 12px 0; border: 0; background: none; font-size: 12px; }
.si-shop-search input:focus-visible { outline: none; }
.si-shop-slots { display: flex; align-items: center; gap: 8px; }
.si-shop-slots button { min-height: 38px; padding: 8px 15px; background: transparent; border: 1px solid #a9bfdc1d; border-radius: 5px; color: #8e9fb8; font-size: 10px; white-space: nowrap; }
.si-shop-slots button.active, .si-shop-slots button:hover { color: #e0c78f; background: #d8bc8008; border-color: #d8bc8050; }
.si-shop-result-summary { padding: 18px 1px 12px; color: #7d92ad; font-size: 10px; }
.si-shop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; align-items: start; }
.si-shop-card { min-width: 0; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: #0e1929; }
.si-shop-art { position: relative; display: flex; align-items: center; justify-content: center; height: 157px; color: #d1b57e; background: radial-gradient(ellipse at 50% 70%, #ccb37b12, transparent 67%), linear-gradient(150deg, #16233b, #0e1929); border-bottom: 1px solid #a9bfdc10; }
.si-shop-art .item-art { margin-top: 15px; filter: drop-shadow(0 6px 9px #0006); }
.si-shop-sample { position: absolute; left: 16px; top: 16px; color: #9caa9f; font-size: 7px; letter-spacing: .13em; }
.si-shop-card-copy { padding: 20px 19px 15px; }
.si-shop-slot { color: #8498b3; font-size: 8px; margin-bottom: 7px; }
.si-shop-card h3 { font-size: 27px; line-height: 1.05; color: #e0d6c3; margin-bottom: 12px; }
.si-shop-card-copy > p:not(.si-shop-slot) { min-height: 39px; color: #8e9fb7; font-size: 10px; }
.si-shop-details { margin-top: 18px; border-top: 1px solid #a9bfdc19; }
.si-shop-details summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 41px; padding: 12px 0 7px; list-style: none; cursor: pointer; color: #cab486; font-size: 10px; }
.si-shop-details summary::-webkit-details-marker { display: none; }
.si-shop-details summary .icon { flex: 0 0 12px; width: 12px; height: 12px; transition: transform .15s; }
.si-shop-details[open] summary .icon { transform: rotate(45deg); }
.si-shop-details dl { display: grid; gap: 11px; padding-top: 10px; }
.si-shop-details dt { color: #6f85a1; font-size: 8px; margin-bottom: 3px; }
.si-shop-details dd { margin: 0; color: #bbc7d6; font-size: 10px; line-height: 1.6; }
.si-shop-details > p { margin: 13px 0 2px; color: #7f94b0; font-size: 9px; }
.si-shop-empty { grid-column: 1 / -1; text-align: center; padding: 48px 20px; border: 1px solid var(--line); border-radius: 9px; background: #0e1929; }
.si-shop-empty h3 { color: #dfd6c7; font-size: 32px; margin-bottom: 10px; }
.si-shop-empty p { color: #8b9eb9; font-size: 12px; }
.si-shop-empty .btn { margin-top: 23px; font-size: 11px; }
.si-shop-rules { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 35px; padding: 29px 0 0; margin-top: 35px; border-top: 1px solid var(--line); }
.si-shop-rules .eyebrow { font-size: 8px; margin-bottom: 12px; }
.si-shop-rules h2 { color: #dcd4c2; font-size: 31px; }
.si-shop-rules > p { color: #879db7; font-size: 11px; padding-top: 1px; }
.si-shop-rules a { display: inline-flex; align-items: center; gap: 9px; margin-top: 11px; color: #c9b486; font-size: 10px; }
.si-shop-rules a .icon { width: 13px; height: 13px; }

.si-page-fair-play .si-fairplay { margin: 0 0 40px; }
.si-page-fair-play .si-fairplay-copy h2 { font-size: 38px; }
.si-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.si-rule-card { min-width: 0; padding: 28px 27px 30px; border: 1px solid #c7b17a2c; border-radius: 9px; background: radial-gradient(ellipse at 100% 0, #bea36c08, transparent 65%), #0d1929; }
.si-rule-marker { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.si-rule-icon { display: grid; place-items: center; width: 39px; height: 43px; color: #c8ad76; }
.si-rule-icon .icon { width: 30px; height: 30px; stroke-width: 1.2; }
.si-rule-number { color: #73829a; font: 24px/1.2 var(--serif); }
.si-rule-card > .eyebrow { margin-bottom: 13px; color: #a18d69; font-size: 8px; letter-spacing: .15em; }
.si-rule-card h2 { max-width: 310px; margin-bottom: 22px; color: #e5dcc9; font-size: 34px; line-height: 1.08; }
.si-rule-card .si-rule-copy { color: #a2b1c6; font-size: 13px; }
.si-rule-card .si-rule-copy + .si-rule-copy { margin-top: 15px; }
.si-rules-purpose { display: flex; align-items: flex-start; gap: 21px; margin-top: 29px; padding: 27px 0 0; border-top: 1px solid var(--line); }
.si-rules-purpose > span { display: grid; place-items: center; flex: 0 0 30px; height: 37px; color: #bca577; }
.si-rules-purpose > span .icon { width: 26px; height: 26px; stroke-width: 1.2; }
.si-rules-purpose > div { min-width: 0; }
.si-rules-purpose h2 { margin-bottom: 10px; color: #ddd4c0; font-size: 29px; }
.si-rules-purpose p { max-width: 850px; color: #91a4be; font-size: 12px; }
.si-fairplay-explained .si-section-heading > a { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 3px; font-size: 10px; color: #c6af80; }
.si-fairplay-explained .si-section-heading > a .icon { width: 13px; height: 13px; }
.si-fairplay-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.si-fairplay-points article { padding: 23px 25px; background: #0e1929; border: 1px solid var(--line); border-radius: 8px; }
.si-fairplay-points article > span { display: block; color: #a78f61; font: 23px var(--serif); margin-bottom: 18px; }
.si-fairplay-points h3 { color: #e0d6c3; font-size: 29px; line-height: 1.05; margin-bottom: 12px; }
.si-fairplay-points p { color: #91a2b9; font-size: 11px; }
.si-faq-section, .si-faq-search { position: relative; }
.si-guide-card:focus-visible, .si-page-status button:focus-visible, .si-shop-details summary:focus-visible, .si-shop-slots button:focus-visible { outline: 2px solid #d5b67b; outline-offset: 3px; border-radius: 5px; }

@media (min-width: 1600px) {
  .si-subnav { max-width: 1440px; }
}

@media (max-width: 1180px) {
  .si-subnav { padding: 0 28px; }
  .si-subnav-end { display: none; }
  .si-subnav { gap: 26px; }
  .si-subnav-links { gap: 26px; }
  .si-overview-principles { gap: 24px; }
  .si-overview-principles article { gap: 12px; }
  .si-overview-principles h2 { font-size: 26px; }
  .si-difference-card { grid-template-columns: 26px 30px minmax(0, .95fr) minmax(0, 1.4fr); gap: 20px; }
  .si-shop-grid { gap: 12px; }
  .si-shop-card-copy { padding-left: 15px; padding-right: 15px; }
  .si-shop-card h3 { font-size: 25px; }
  .si-fairplay-points { gap: 16px; }
}

@media (max-width: 900px) {
  .si-rules-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .si-rule-card { padding: 27px; }
  .si-rule-marker { margin-bottom: 20px; }
  .si-rule-card h2 { max-width: none; margin-bottom: 17px; }
  .si-rule-card .si-rule-copy { max-width: 690px; }
  .si-subnav-label { display: none; }
  .si-overview-principles { gap: 20px; }
  .si-overview-principles article { flex-direction: column; gap: 12px; }
  .si-overview-principles article > span { flex-basis: auto; }
  .si-overview-principles h2 { font-size: 26px; }
  .si-guide-card { padding: 22px 20px; gap: 16px; }
  .si-guide-card h3 { font-size: 26px; }
  .si-guide-card p { font-size: 10px; }
  .si-section-intro { flex-direction: column; align-items: flex-start; gap: 22px; }
  .si-section-intro > .btn { margin: 0; }
  .si-difference-card { grid-template-columns: 28px 32px minmax(0, 1fr); gap: 16px; }
  .si-difference-copy { grid-column: 3; }
  .si-difference-title h2 { max-width: none; }
  .si-shop-tools { gap: 18px; }
  .si-shop-tools article { flex-direction: column; gap: 13px; }
  .si-shop-tools article > span { flex-basis: auto; }
  .si-shop-tools h3 { font-size: 24px; }
  .si-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .si-shop-card-copy { padding: 20px; }
  .si-shop-card h3 { font-size: 30px; }
  .si-shop-card-copy > p:not(.si-shop-slot) { min-height: 20px; font-size: 11px; }
  .si-shop-art { height: 166px; }
  .si-fairplay-points { grid-template-columns: 1fr; gap: 14px; }
  .si-fairplay-points article { display: grid; grid-template-columns: 28px minmax(0, .7fr) minmax(0, 1.2fr); align-items: start; gap: 18px; padding: 23px; }
  .si-fairplay-points article > span, .si-fairplay-points h3 { margin: 0; }
  .si-fairplay-points h3 { font-size: 27px; }
}

@media (max-width: 760px) {
  .si-subnav { padding: 0 20px; min-height: 49px; }
  .si-subnav-links { width: 100%; gap: 24px; }
  .si-subnav-links a { min-height: 49px; font-size: 10px; }
  .demo-notice.si-nav-strip { min-height: 49px; }
  .si-page { padding-top: 21px; }
  .si-page-status { margin-bottom: 26px; gap: 10px; font-size: 8px; }
  .si-page-status > span { gap: 6px; }
  .si-page-status button { font-size: 8px; gap: 6px; }
  .si-page-status .si-status-detail { display: none; }
  .si-section-intro { margin-bottom: 29px; }
  .si-section-intro h1 { font-size: 53px; }
  .si-section-intro .eyebrow { margin-bottom: 17px; }
  .si-section-lead { margin-top: 19px; font-size: 12px; }
  .si-section-intro > .btn { font-size: 10px; }
  .si-guide-section { padding-top: 31px; }
  .si-overview-principles { padding: 25px 0; }
  .si-overview-principles h2 { font-size: 25px; }
  .si-overview-principles p { font-size: 10px; }
  .si-overview-principles a { font-size: 9px; line-height: 1.6; }
  .si-guide-icon { flex-basis: 27px; height: 33px; }
  .si-guide-icon .icon { width: 23px; height: 23px; }
  .si-guide-card { padding: 21px 17px; gap: 13px; }
  .si-guide-card h3 { font-size: 25px; }
  .si-guide-arrow { flex-basis: 13px; }
  .si-guide-arrow .icon { width: 13px; height: 13px; }
  .si-difference-card { padding: 27px 0; }
  .si-difference-title h2 { font-size: 30px; }
  .si-difference-copy > p { font-size: 11px; }
  .si-difference-copy p.si-difference-detail { font-size: 9px; }
  .si-feature-status { margin-top: 21px; }
  .si-feature-status p { font-size: 9px; }
  .si-shop-principle { padding: 21px 22px; gap: 17px; }
  .si-shop-principle h2 { font-size: 29px; }
  .si-shop-principle p { font-size: 11px; }
  .si-shop-principle > span { flex-basis: 32px; }
  .si-shop-principle > span .icon { width: 29px; height: 29px; }
  .si-shop-tools { margin-bottom: 30px; }
  .si-shop-toolbar { flex-wrap: wrap; gap: 15px; }
  .si-shop-search { flex-basis: 100%; max-width: none; }
  .si-shop-slots button { min-height: 36px; font-size: 9px; padding: 8px 14px; }
  .si-shop-rules { grid-template-columns: 1fr; gap: 17px; margin-top: 28px; padding-top: 24px; }
  .si-shop-rules h2 { font-size: 30px; }
  .si-shop-rules > p { font-size: 10px; }
  .si-page-fair-play .si-fairplay { margin-bottom: 32px; }
  .si-page-fair-play .si-fairplay-copy h2 { font-size: 35px; max-width: 100%; }
}

@media (max-width: 600px) {
  .si-section-intro h1 { font-size: 46px; }
  .si-overview-principles { grid-template-columns: 1fr; gap: 24px; }
  .si-overview-principles article { flex-direction: row; gap: 16px; }
  .si-overview-principles article > span { flex: 0 0 28px; }
  .si-overview-principles h2 { font-size: 28px; margin-bottom: 8px; }
  .si-overview-principles p { max-width: none; font-size: 11px; }
  .si-overview-principles a { margin-top: 9px; font-size: 10px; }
  .si-guide-grid { grid-template-columns: 1fr; gap: 11px; }
  .si-guide-card { padding: 21px 20px; gap: 17px; }
  .si-guide-card h3 { font-size: 28px; }
  .si-guide-card p { font-size: 11px; }
  .si-guide-icon { flex-basis: 31px; }
  .si-difference-card { grid-template-columns: 24px minmax(0, 1fr); gap: 12px 15px; }
  .si-difference-icon { display: none; }
  .si-difference-number { font-size: 22px; }
  .si-difference-title h2 { font-size: 31px; }
  .si-difference-copy { grid-column: 2; }
  .si-difference-title .eyebrow { font-size: 7px; }
  .si-shop-tools { grid-template-columns: 1fr; gap: 23px; padding-bottom: 25px; }
  .si-shop-tools article { flex-direction: row; gap: 15px; }
  .si-shop-tools article > span { flex: 0 0 26px; }
  .si-shop-tools h3 { font-size: 27px; margin-bottom: 7px; }
  .si-shop-tools p { font-size: 11px; }
  .si-shop-card-copy { padding: 17px 15px 12px; }
  .si-shop-card h3 { font-size: 25px; }
  .si-shop-card-copy > p:not(.si-shop-slot) { font-size: 10px; min-height: 55px; }
  .si-shop-art { height: 143px; }
  .si-shop-art .item-art { width: 86px; height: 86px; }
  .si-shop-sample { font-size: 6px; left: 13px; top: 13px; }
  .si-shop-slot { font-size: 7px; }
  .si-shop-grid { gap: 12px; }
  .si-shop-details summary { font-size: 9px; }
  .si-shop-details dd { font-size: 9px; }
  .si-fairplay-points article { grid-template-columns: 25px minmax(0, 1fr); gap: 12px 16px; padding: 22px; }
  .si-fairplay-points p { grid-column: 2; }
  .si-fairplay-points h3 { font-size: 29px; }
}

@media (max-width: 400px) {
  .si-subnav { padding-left: 15px; padding-right: 15px; }
  .si-section-intro h1 { font-size: 42px; }
  .si-shop-principle { align-items: flex-start; padding: 20px 17px; gap: 13px; }
  .si-shop-principle > span { flex-basis: 25px; height: 35px; }
  .si-shop-principle > span .icon { width: 26px; height: 26px; }
  .si-shop-principle h2 { font-size: 28px; }
  .si-shop-card-copy { padding-left: 12px; padding-right: 12px; }
  .si-shop-card h3 { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .si-guide-card, .si-shop-details summary .icon { transition: none; }
}


/* The founder's letter, mission, and vision: adapted to the current HARAYA identity. */
.si-overview-story-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; color: #c5ae7c; font-size: 10px; }
.si-overview-story-link .icon { width: 13px; height: 13px; }
.si-guide-card[href='#story'] { grid-column: 1 / -1; border-color: #ccb17b30; background: radial-gradient(ellipse at 100% 0, #c2a66d0b, transparent 65%), #101c2c; }
.si-guide-card[href='#story']:hover { border-color: #ccb17b65; background-color: #142135; }
/* Each contents destination is a complete reading panel. The letter may grow;
   the purpose pair and the promise each get their own viewport when they fit. */
.si-page.si-page-our-story { padding-top: 0; padding-bottom: 0; animation: none; }
.si-story-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 56px; align-items: start; }
.si-story-aside { position: sticky; top: 140px; padding-top: 3px; margin-top: 38px; }
.si-story-aside > .eyebrow { font-size: 7px; letter-spacing: .14em; color: #a89060; margin-bottom: 16px; }
.si-story-aside nav { display: grid; gap: 2px; }
.si-story-aside button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 0; background: none; border-bottom: 1px solid #a9bfdc12; color: #95a5ba; font-size: 11px; text-align: left; }
.si-story-aside button .icon { flex: 0 0 13px; width: 13px; height: 13px; color: #6f83a0; }
.si-story-aside button:hover, .si-story-aside button:hover .icon { color: #d6bf8f; }
.si-story-aside button:focus-visible { outline: 2px solid #d5b67b; outline-offset: 3px; border-radius: 3px; }
.si-story-aside-note { color: #677f9c; font: italic 23px/1.4 var(--serif); margin-top: 27px; }
.si-story-content { min-width: 0; max-width: 980px; }
.si-story-panel {
  position: relative;
  min-width: 0;
  min-height: calc(var(--journey-panel-height, calc(100svh - 120px)) - var(--story-sticky-offset, 0px));
  padding-top: clamp(28px, 4vh, 42px);
  padding-bottom: 76px;
  margin-top: 0;
  scroll-margin-top: var(--story-sticky-offset, 0px);
}
.si-story-panel:focus-visible { outline: 1px solid #c7ad7145; outline-offset: -5px; border-radius: 4px; }
.si-story-intro { padding-bottom: 25px; margin-bottom: 27px; border-bottom: 1px solid var(--line); }
.si-story-intro > .eyebrow { font-size: 8px; margin-bottom: 13px; }
.si-story-intro h1 { color: #eee7d9; font-size: clamp(36px, 3.6vw, 49px); line-height: 1.08; letter-spacing: -.025em; }
.si-story-intro h1 em { color: #d7be8c; font-weight: 400; }
.si-founder-letter .si-story-lead { max-width: 670px; margin-top: 15px; color: #9eacc1; font-size: 12px; line-height: 1.8; }
.si-founder-letter { max-width: 760px; margin-left: auto; margin-right: auto; }
.si-founder-letter > .eyebrow { font-size: 8px; margin-bottom: 15px; }
.si-founder-letter > h2 { color: #e4ddcf; font-size: 37px; line-height: 1.1; letter-spacing: -.015em; margin-bottom: 24px; }
.si-founder-letter p { color: #acb9ca; font-size: 14px; line-height: 1.95; }
.si-founder-letter p.si-story-opening { color: #c1c9d2; font-size: 16px; line-height: 1.85; margin-bottom: 35px; }
.si-story-opening em { color: #d0bc96; font-style: normal; }
.si-letter-chapter { margin-top: 32px; }
.si-letter-chapter h3 { color: #d9d1bf; font-size: 30px; line-height: 1.2; margin-bottom: 17px; }
.si-letter-chapter p + p { margin-top: 19px; }
.si-letter-chapter blockquote { position: relative; padding: 19px 25px 21px 29px; margin: 35px 0 39px; border-left: 1px solid #d2b47a70; background: linear-gradient(90deg, #ceb17506, transparent); }
.si-letter-chapter blockquote > span { display: block; height: 26px; font: 45px/.85 var(--serif); color: #a78b55; }
.si-letter-chapter blockquote p { color: #dbc79e; font: italic 35px/1.27 var(--serif); max-width: 600px; }
.si-founder-closing { padding-top: 31px; margin-top: 33px; border-top: 1px solid var(--line); }
.si-founder-closing p.si-founder-welcome { margin-top: 25px; color: #dcd5c5; font: 30px/1.25 var(--serif); }
.si-founder-welcome em { color: #ccb184; font-weight: 400; }
.si-founder-closing p.si-founder-signature { display: flex; align-items: center; gap: 12px; margin-top: 25px; color: #b5a07b; font: italic 20px/1.4 var(--serif); }
.si-founder-signature::before { content: ''; display: block; width: 20px; height: 1px; background: #b49a6570; }
.si-story-purpose { display: grid; align-content: center; border-top: 1px solid var(--line); }
.si-purpose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.si-purpose-card { min-width: 0; position: relative; border: 1px solid #c7b17a28; border-radius: 8px; padding: 28px 26px; background: radial-gradient(ellipse at 100% 0, #baa16a09, transparent 65%), #0d1929; }
.si-purpose-icon { display: flex; align-items: center; color: #b8a171; width: 31px; height: 35px; margin-bottom: 22px; }
.si-purpose-icon .icon { width: 27px; height: 27px; stroke-width: 1.15; }
.si-purpose-card .eyebrow { margin-bottom: 12px; font-size: 8px; }
.si-purpose-card h2 { color: #e0d6c2; font-size: 33px; line-height: 1.08; margin-bottom: 20px; }
.si-purpose-card h2 br { display: none; }
.si-purpose-card p:not(.eyebrow) { color: #98abc2; font-size: 12px; line-height: 1.9; }
.si-purpose-card p + p { margin-top: 13px; }
.si-story-promise { max-width: 760px; margin-left: auto; margin-right: auto; border-top: 1px solid var(--line); }
.si-story-promise > .eyebrow { font-size: 8px; margin-bottom: 15px; }
.si-story-promise > h2 { color: #e3dac8; font-size: 39px; line-height: 1.1; margin-bottom: 20px; }
.si-story-promise > p:not(.eyebrow) { color: #8fa3be; max-width: 740px; font-size: 12px; }
.si-story-commitments { display: grid; gap: 22px; margin-top: 29px; }
.si-story-commitments article { display: flex; align-items: flex-start; gap: 15px; }
.si-story-commitments article > span { flex: 0 0 19px; display: flex; align-items: center; height: 29px; color: #bba276; }
.si-story-commitments .icon { width: 17px; height: 17px; }
.si-story-commitments h3 { color: #d8d1c2; font-size: 27px; margin-bottom: 8px; line-height: 1.15; }
.si-story-commitments p { color: #93a6bf; max-width: 720px; font-size: 12px; }
.si-story-promise > .btn { margin-top: 30px; font-size: 11px; white-space: normal; text-align: left; }
.si-story-content h2[tabindex='-1']:focus-visible { outline: 1px solid #c7ad7145; outline-offset: 8px; border-radius: 4px; }

@media (max-width: 1180px) {
  .si-story-layout { grid-template-columns: 176px minmax(0, 1fr); gap: 34px; }
  .si-story-aside button { font-size: 10px; }
  .si-purpose-card { padding: 25px 22px; }
  .si-purpose-card h2 { font-size: 30px; }
}

@media (max-width: 900px) {
  .si-story-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .si-story-aside { position: sticky; min-width: 0; padding: 0; margin-top: 0; }
  .si-story-aside > .eyebrow, .si-story-aside-note { display: none; }
  .si-story-aside nav { display: flex; gap: 20px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #bea67440 transparent; border-bottom: 1px solid var(--line); }
  .si-story-aside button { justify-content: flex-start; width: auto; flex: 0 0 auto; min-height: 44px; padding: 8px 0 13px; border-bottom: 0; white-space: nowrap; font-size: 10px; }
  .si-story-aside button .icon { width: 11px; height: 11px; flex-basis: 11px; }
  .si-story-content { max-width: none; }
  .si-founder-letter { max-width: 720px; }
  .si-story-intro h1 { font-size: 42px; }
  .si-founder-letter > h2 { font-size: 35px; }
}

@media (max-width: 600px) {
  .si-overview-story-link { margin-top: 10px; font-size: 9px; }
  .si-story-panel { padding-top: 25px; padding-bottom: 68px; }
  .si-story-aside nav { gap: 13px; }
  .si-story-aside button { gap: 8px; font-size: 9px; }
  .si-story-intro { margin-bottom: 24px; padding-bottom: 23px; }
  .si-story-intro h1 { font-size: 37px; }
  .si-story-intro > .eyebrow { font-size: 7px; }
  .si-founder-letter .si-story-lead { font-size: 11px; line-height: 1.8; }
  .si-founder-letter > .eyebrow { font-size: 7px; margin-bottom: 14px; }
  .si-founder-letter > h2 { font-size: 31px; line-height: 1.12; margin-bottom: 22px; }
  .si-founder-letter p { font-size: 13px; line-height: 1.95; }
  .si-founder-letter p.si-story-opening { font-size: 14px; line-height: 1.95; margin-bottom: 29px; }
  .si-letter-chapter { margin-top: 28px; }
  .si-letter-chapter h3 { font-size: 28px; margin-bottom: 15px; }
  .si-letter-chapter p + p { margin-top: 18px; }
  .si-letter-chapter blockquote { padding: 17px 12px 18px 22px; margin: 29px 0 30px; }
  .si-letter-chapter blockquote p { font-size: 32px; line-height: 1.25; }
  .si-founder-closing { padding-top: 26px; margin-top: 28px; }
  .si-founder-closing p.si-founder-welcome { font-size: 28px; }
  .si-founder-closing p.si-founder-signature { font-size: 19px; }
  .si-purpose-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .si-purpose-card { padding: 26px 25px; }
  .si-purpose-card h2 { font-size: 33px; }
  .si-purpose-icon { margin-bottom: 18px; }
  .si-story-promise > h2 { font-size: 34px; }
  .si-story-commitments { gap: 21px; margin-top: 24px; }
  .si-story-commitments article { gap: 12px; }
  .si-story-commitments h3 { font-size: 26px; }
  .si-story-promise > .btn { font-size: 11px; }
}

@media (max-width: 380px) {
  .si-story-intro h1 { font-size: 35px; }
  .si-founder-letter > h2 { font-size: 30px; }
  .si-purpose-card { padding: 24px 21px; }
}
