:root {
    --sl-coral: #f16334;
    --sl-ink: #262c32;
    --sl-slate: #43464b;
    --sl-muted: #71767b;
    --sl-rule: #d8d9d7;
    --sl-paper: #f4f4f0;
    --sl-mono: "Courier New", Courier, monospace;
    --sl-body: Arial, Helvetica, sans-serif;
}
* {
    box-sizing: border-box;
}
html {
    scroll-padding-top: 30px;
}
body {
    margin: 0;
    font: 15px/1.8 var(--sl-body);
    background: #fff;
    color: var(--sl-slate);
    -webkit-font-smoothing: antialiased;
}
a {
    color: inherit;
    text-decoration: none;
}
img {
    max-width: 100%;
    height: auto;
}
button,
input,
textarea {
    font: inherit;
}
a,
button,
input,
textarea {
    outline-offset: 5px;
}
:focus-visible {
    outline: 3px solid var(--sl-coral);
}
h1,
h2,
h3,
h4 {
    font-family: var(--sl-body);
    line-height: 1.08;
    font-weight: 600;
    color: var(--sl-ink);
    letter-spacing: -0.05em;
    margin: 0 0 24px;
}
h1 {
    font-size: clamp(40px, 4.5vw, 63px);
}
h2 {
    font-size: 35px;
}
h3 {
    font-size: 25px;
}
p {
    margin: 0 0 22px;
}
address {
    font-style: normal;
}
.sl-skip {
    position: fixed;
    top: 10px;
    left: 10px;
    background: var(--sl-ink);
    color: white;
    z-index: 99;
    padding: 10px 20px;
    transform: translateY(-180%);
}
.sl-skip:focus {
    transform: none;
}
.sl-label {
    font: 10px/1.6 var(--sl-mono);
    letter-spacing: 1.4px;
    text-transform: uppercase;
    display: block;
    color: var(--sl-muted);
    margin-bottom: 19px;
}
.sl-rail {
    width: 240px;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    background: var(--sl-paper);
    border-right: 1px solid var(--sl-rule);
    padding: 42px 27px 25px;
    display: flex;
    flex-direction: column;
    z-index: 40;
}
.sl-mark {
    display: block;
    padding: 0 0 42px;
    border-bottom: 1px solid var(--sl-rule);
}
.sl-mark img {
    display: block;
    width: 158px;
    height: 48px;
    object-fit: contain;
    object-position: left center;
}
.sl-directory {
    padding-top: 40px;
}
.sl-directory > p {
    font-size: 9px;
    letter-spacing: 1.3px;
}
.sl-directory nav {
    display: flex;
    flex-direction: column;
}
.sl-directory nav > a {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 12px;
    color: var(--sl-ink);
    padding: 14px 0;
    line-height: 1.5;
    border-bottom: 1px solid var(--sl-rule);
}
.sl-directory nav > a:hover,
.sl-directory nav > a[aria-current="page"] {
    color: var(--sl-coral);
}
.sl-nav-number {
    font: 9px var(--sl-mono);
    color: var(--sl-muted);
}
.sl-nav-arrow {
    margin-left: auto;
    font-size: 16px;
    opacity: 0;
    transition: opacity 0.2s;
}
.sl-directory nav > a:hover .sl-nav-arrow {
    opacity: 1;
}
.sl-rail-contact {
    margin-top: 50px;
}
.sl-rail-contact > .sl-label {
    margin-bottom: 12px;
    font-size: 9px;
}
.sl-rail-contact > a {
    font-size: 11px;
    color: var(--sl-coral);
    overflow-wrap: anywhere;
}
.sl-rail-contact address {
    font-size: 10px;
    color: var(--sl-muted);
    margin-top: 13px;
    line-height: 1.8;
}
.sl-rail-caption {
    font: 9px/1.5 var(--sl-mono);
    color: var(--sl-muted);
    margin-top: auto;
    padding-top: 30px;
}
.sl-navigation-switch {
    display: none;
}
.sl-canvas {
    margin-left: 240px;
    max-width: 1700px;
}
.sl-topbar {
    height: 45px;
    background: var(--sl-ink);
    color: #e6e7e5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 46px;
    font: 8px var(--sl-mono);
    letter-spacing: 1.1px;
}
.sl-topbar > a {
    color: #f9b29b;
    letter-spacing: 0;
    font-size: 10px;
}
.sl-topbar > a > span {
    padding-left: 16px;
}
.sl-hero {
    padding: 42px 45px 40px;
    border-bottom: 1px solid var(--sl-rule);
    background: var(--sl-paper);
}
.sl-hero-label {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--sl-rule);
    margin-bottom: 42px;
}
.sl-hero-label .sl-label {
    color: var(--sl-coral);
    font-size: 9px;
    margin-bottom: 19px;
}
.sl-cross {
    font-size: 22px;
    color: var(--sl-coral);
    line-height: 1;
}
.sl-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 20px;
    align-items: center;
    min-height: 550px;
}
.sl-hero-copy h1 {
    font-size: clamp(39px, 3.8vw, 59px);
    max-width: 620px;
}
.sl-hero-copy p {
    max-width: 570px;
    font-size: 14px;
    color: var(--sl-muted);
    line-height: 1.9;
}
.sl-hero-copy > a:not(.sl-button) {
    color: var(--sl-coral);
    font-size: 12px;
}
.sl-button {
    background: var(--sl-coral);
    border: 1px solid var(--sl-coral);
    padding: 15px 19px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    font: 600 11px/1.6 var(--sl-body);
    cursor: pointer;
    transition: background 0.2s;
    margin-top: 10px;
}
.sl-button > span {
    font-size: 20px;
    font-weight: 400;
}
.sl-button:hover {
    background: #d64e22;
}
.sl-hero-figure {
    position: relative;
    margin: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 5px 45px;
    isolation: isolate;
}
.sl-hero-figure img {
    object-fit: contain;
    width: 100%;
    max-height: 430px;
    z-index: 1;
}
.sl-hero-figure figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    font: 8px/1.5 var(--sl-mono);
    letter-spacing: 2px;
    color: var(--sl-muted);
}
.sl-guide-lines {
    position: absolute;
    inset: 30px -5px 45px;
    background-image:
        linear-gradient(to right, #f1633412 1px, transparent 1px),
        linear-gradient(to bottom, #f1633412 1px, transparent 1px);
    background-size: 38px 38px;
    border: 1px solid #f1633426;
    z-index: -1;
}
.sl-guide-lines:after {
    content: "";
    position: absolute;
    width: 75%;
    aspect-ratio: 1;
    border: 1px solid #f163343d;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.sl-position {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--sl-rule);
    font: 9px/1.5 var(--sl-mono);
    text-transform: uppercase;
    letter-spacing: 1.2px;
}
.sl-position span {
    padding: 20px;
    text-align: center;
    border-right: 1px solid var(--sl-rule);
}
.sl-position span:last-child {
    border: 0;
}
.sl-section {
    padding: 62px 50px;
}
.sl-reading {
    max-width: 1050px;
    margin-inline: auto;
}
.sl-rich {
    font-size: 15px;
    color: var(--sl-muted);
    line-height: 1.9;
    overflow-wrap: anywhere;
}
.sl-rich h2 {
    font-size: 33px;
    margin: 30px 0 24px;
}
.sl-rich h2:first-child {
    margin-top: 0;
}
.sl-rich h3 {
    font-size: 25px;
    margin-top: 28px;
}
.sl-rich h4 {
    font-size: 20px;
    margin-top: 22px;
}
.sl-rich p:last-child {
    margin-bottom: 0;
}
.sl-rich ul,
.sl-rich ol {
    padding-left: 22px;
}
.sl-rich li {
    margin: 9px 0;
}
.sl-rich a {
    color: var(--sl-coral);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.sl-rich img {
    max-width: 100%;
    height: auto;
}
.sl-rich table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.sl-rich td,
.sl-rich th {
    border: 1px solid var(--sl-rule);
    padding: 12px;
}
.sl-rich pre {
    white-space: pre-wrap;
}
.sl-matrix {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--sl-rule);
    border-bottom: 1px solid var(--sl-rule);
    background: #fff;
}
.sl-module {
    padding: 38px 42px;
    border-bottom: 1px solid var(--sl-rule);
    border-right: 1px solid var(--sl-rule);
    min-width: 0;
}
.sl-module:nth-child(even) {
    border-right: 0;
}
.sl-module h2 {
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -0.7px;
    max-width: 460px;
}
.sl-module .sl-rich {
    font-size: 13px;
    line-height: 1.9;
}
.sl-module-marker {
    margin-bottom: 32px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sl-module-marker img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}
.sl-module-marker > span {
    font-size: 36px;
    color: var(--sl-coral);
}
.sl-media {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    background: var(--sl-paper);
}
.sl-media img {
    max-height: 580px;
    width: auto;
    object-fit: contain;
}
.sl-media figcaption {
    font: 10px var(--sl-mono);
    margin-top: 20px;
    color: var(--sl-muted);
}
.sl-testimony {
    margin: 0;
    border-block: 1px solid var(--sl-rule);
    background: var(--sl-paper);
}
.sl-testimony > blockquote {
    font-size: 24px;
    max-width: 850px;
    color: var(--sl-ink);
    margin: 0;
}
.sl-testimony figcaption {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 30px;
    font-size: 12px;
}
.sl-testimony figcaption img {
    width: 45px;
    height: 45px;
    object-fit: cover;
}
.sl-testimony figcaption > span {
    color: var(--sl-muted);
}
.sl-action {
    padding-block: 30px;
}
.sl-callout {
    padding: 45px 50px;
    background: var(--sl-ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: white;
}
.sl-callout h2 {
    color: white;
    font-size: 31px;
    margin: 0;
}
.sl-callout > a {
    color: #f9b29b;
    font-size: 12px;
    white-space: nowrap;
}
.sl-callout > a > span {
    margin-left: 20px;
}
.sl-page-title {
    padding: 65px 50px;
    background: var(--sl-paper);
    border-bottom: 1px solid var(--sl-rule);
}
.sl-page-title h1 {
    font-size: clamp(37px, 4.4vw, 62px);
    max-width: 1000px;
}
.sl-page-title h1 > span {
    color: var(--sl-coral);
}
.sl-page-title > p {
    max-width: 750px;
    color: var(--sl-muted);
}
.sl-page-title time {
    font: 11px var(--sl-mono);
    color: var(--sl-muted);
}
.sl-footer {
    padding: 60px 50px 20px;
    background: #252c32;
    color: #dadeda;
    margin-top: 45px;
}
.sl-footer-claim {
    padding-bottom: 40px;
    max-width: 850px;
}
.sl-footer-claim > .sl-label {
    color: #fca88a;
}
.sl-footer-claim > p {
    font-size: 30px;
    line-height: 1.3;
    letter-spacing: -1px;
    color: #fff;
}
.sl-footer-claim > a {
    font-size: 13px;
    color: #fca88a;
}
.sl-footer-claim > a > span {
    margin-left: 20px;
}
.sl-footer-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 35px 0;
    border-top: 1px solid #4c5154;
}
.sl-footer-details .sl-label {
    margin-bottom: 8px;
    color: #9da5a7;
    font-size: 9px;
}
.sl-footer-details a,
.sl-footer-details address {
    font-size: 12px;
}
.sl-footer-bottom {
    display: flex;
    align-items: center;
    gap: 24px;
    border-top: 1px solid #4c5154;
    padding-top: 20px;
    font: 9px var(--sl-mono);
    color: #9da5a7;
}
.sl-footer-bottom span {
    margin-right: auto;
}
.sl-contact-grid {
    display: grid;
    grid-template-columns: 0.7fr 1.3fr;
    gap: 0;
    border-bottom: 1px solid var(--sl-rule);
}
.sl-contact-information {
    background: var(--sl-paper);
    padding: 50px 35px;
    border-right: 1px solid var(--sl-rule);
}
.sl-contact-information h2 {
    font-size: 28px;
}
.sl-contact-information > a {
    color: var(--sl-coral);
    font-size: 13px;
    overflow-wrap: anywhere;
}
.sl-contact-information address {
    font-size: 12px;
    margin-top: 25px;
}
.sl-contact-source {
    margin-top: 35px;
    border-top: 1px solid var(--sl-rule);
    padding-top: 25px;
    font-size: 11px;
}
.sl-contact-source h3,
.sl-contact-source h2 {
    font-size: 16px;
    margin-top: 15px;
}
.sl-contact-form-area {
    padding: 50px 40px;
}
.sl-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.sl-form label {
    display: flex;
    flex-direction: column;
    gap: 9px;
    font: 10px/1.5 var(--sl-mono);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.sl-form input,
.sl-form textarea {
    width: 100%;
    border: 1px solid var(--sl-rule);
    background: #fff;
    padding: 13px;
    font: 14px/1.5 var(--sl-body);
    letter-spacing: 0;
    text-transform: none;
    color: var(--sl-ink);
    border-radius: 0;
}
.sl-form input:focus,
.sl-form textarea:focus {
    border-color: var(--sl-coral);
}
.sl-form textarea {
    resize: vertical;
}
.sl-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.sl-form-bottom {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}
.sl-form-bottom p {
    font-size: 10px;
    color: var(--sl-muted);
    margin: 0;
    max-width: 180px;
}
.sl-form-bottom .sl-button {
    margin: 0;
    white-space: nowrap;
}
.sl-spam-field {
    position: absolute;
    left: -10000px;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.sl-notice {
    padding: 15px;
    border-left: 3px solid;
    margin-bottom: 20px;
    font-size: 13px;
}
.sl-error {
    background: #ffede7;
    border-color: var(--sl-coral);
    color: #942c0d;
}
.sl-success {
    background: #e8f4e9;
    border-color: #557d51;
    color: #36522e;
}
@media (min-width: 1600px) {
    .sl-hero-grid {
        gap: 50px;
    }
    .sl-hero-copy h1 {
        font-size: 67px;
    }
    .sl-hero {
        padding: 50px 70px;
    }
    .sl-section {
        padding-inline: 70px;
    }
}
@media (max-width: 1200px) {
    .sl-rail {
        width: 210px;
        padding-inline: 22px;
    }
    .sl-canvas {
        margin-left: 210px;
    }
    .sl-topbar {
        padding-inline: 30px;
    }
    .sl-hero {
        padding-inline: 30px;
    }
    .sl-hero-grid {
        min-height: 530px;
    }
    .sl-hero-copy h1 {
        font-size: 42px;
    }
    .sl-hero-figure {
        padding-top: 60px;
    }
    .sl-section,
    .sl-page-title,
    .sl-footer {
        padding-inline: 35px;
    }
    .sl-contact-grid {
        grid-template-columns: 1fr;
    }
    .sl-contact-information {
        border-right: 0;
        border-bottom: 1px solid var(--sl-rule);
    }
    .sl-module {
        padding: 30px;
    }
    .sl-callout {
        padding-inline: 35px;
    }
}
@media (max-width: 900px) {
    .sl-rail {
        position: relative;
        width: 100%;
        padding: 18px 25px;
        border-right: 0;
        border-bottom: 1px solid var(--sl-rule);
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        min-height: 85px;
    }
    .sl-mark {
        padding: 0;
        border: 0;
    }
    .sl-mark img {
        width: 145px;
        height: 45px;
    }
    .sl-canvas {
        margin-left: 0;
    }
    .sl-rail-caption {
        display: none;
    }
    .sl-navigation-switch {
        display: flex;
        align-items: center;
        gap: 12px;
        font: 10px var(--sl-mono);
        letter-spacing: 0.6px;
        background: transparent;
        border: 1px solid var(--sl-rule);
        padding: 9px 13px;
        text-transform: uppercase;
        color: var(--sl-ink);
    }
    .sl-navigation-switch span {
        font-size: 23px;
        line-height: 1;
    }
    .sl-directory {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--sl-paper);
        border-bottom: 1px solid var(--sl-rule);
        padding: 25px;
        z-index: 50;
        box-shadow: 0 20px 30px #00000008;
    }
    .sl-directory.sl-directory-open {
        display: block;
    }
    .sl-directory nav > a {
        font-size: 15px;
        padding-block: 13px;
    }
    .sl-rail-contact {
        margin-top: 25px;
        display: flex;
        flex-wrap: wrap;
        gap: 10px 20px;
        align-items: center;
    }
    .sl-rail-contact > .sl-label {
        margin: 0;
    }
    .sl-rail-contact address {
        margin: 0;
        font-size: 10px;
    }
    .sl-topbar {
        height: 39px;
        padding-inline: 25px;
    }
    .sl-topbar > a {
        font-size: 9px;
    }
    .sl-hero {
        padding: 32px 30px 35px;
    }
    .sl-hero-copy h1 {
        font-size: clamp(38px, 5.2vw, 53px);
    }
    .sl-hero-grid {
        min-height: 500px;
    }
    .sl-module {
        padding: 30px;
    }
    .sl-footer {
        padding: 50px 35px 20px;
    }
    .sl-footer-claim > p {
        font-size: 28px;
    }
}
@media (max-width: 650px) {
    .sl-topbar {
        font-size: 7px;
        padding-inline: 20px;
        letter-spacing: 0.4px;
    }
    .sl-topbar > a {
        font-size: 8px;
    }
    .sl-hero {
        padding-inline: 22px;
        padding-top: 28px;
    }
    .sl-hero-label {
        margin-bottom: 30px;
    }
    .sl-hero-label .sl-label {
        font-size: 8px;
        letter-spacing: 1px;
    }
    .sl-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .sl-hero-copy h1 {
        font-size: 39px;
        letter-spacing: -1.5px;
    }
    .sl-hero-copy p {
        font-size: 14px;
    }
    .sl-hero-figure {
        min-height: 310px;
        padding: 15px 15px 30px;
    }
    .sl-hero-figure img {
        max-height: 330px;
    }
    .sl-guide-lines {
        inset: 0 0 30px;
        background-size: 35px 35px;
    }
    .sl-hero-figure figcaption {
        font-size: 7px;
    }
    .sl-position span {
        padding: 15px 9px;
        font-size: 7px;
        letter-spacing: 0.6px;
    }
    .sl-section,
    .sl-page-title {
        padding: 40px 24px;
    }
    .sl-rich {
        font-size: 14px;
    }
    .sl-rich h2 {
        font-size: 29px;
    }
    .sl-matrix {
        grid-template-columns: 1fr;
    }
    .sl-module {
        padding: 30px 25px;
        border-right: 0;
    }
    .sl-module h2 {
        font-size: 26px;
    }
    .sl-module .sl-rich {
        font-size: 14px;
    }
    .sl-module-marker {
        margin-bottom: 22px;
    }
    .sl-callout {
        padding: 35px 24px;
        display: block;
    }
    .sl-callout h2 {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .sl-media img {
        max-height: 400px;
    }
    .sl-footer {
        padding: 45px 24px 20px;
    }
    .sl-footer-claim > p {
        font-size: 25px;
    }
    .sl-footer-details {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .sl-page-title h1 {
        font-size: 39px;
    }
    .sl-contact-information {
        padding: 35px 24px;
    }
    .sl-contact-form-area {
        padding: 35px 24px;
    }
    .sl-form-row {
        grid-template-columns: 1fr;
    }
    .sl-form-bottom {
        align-items: start;
        flex-direction: column;
    }
    .sl-form-bottom p {
        max-width: none;
    }
    .sl-testimony > blockquote {
        font-size: 20px;
    }
    .sl-testimony figcaption {
        flex-wrap: wrap;
    }
}
.sl-journal {
    padding: 30px 50px 60px;
}
.sl-journal-row {
    display: grid;
    grid-template-columns: 95px 1fr 40px;
    gap: 27px;
    border-bottom: 1px solid var(--sl-rule);
    padding: 35px 0;
}
.sl-journal-date {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font: 9px var(--sl-mono);
    color: var(--sl-muted);
}
.sl-journal-date > span {
    color: var(--sl-coral);
    font-size: 13px;
}
.sl-journal-row h2 {
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -0.8px;
}
.sl-journal-row p {
    font-size: 13px;
    color: var(--sl-muted);
    margin: 0;
}
.sl-journal-open {
    font-size: 27px;
    color: var(--sl-coral);
}
@media (max-width: 650px) {
    .sl-journal {
        padding: 20px 24px 40px;
    }
    .sl-journal-row {
        grid-template-columns: 1fr 35px;
        gap: 15px;
    }
    .sl-journal-date {
        grid-column: 1/-1;
        flex-direction: row;
        gap: 20px;
    }
    .sl-journal-row h2 {
        font-size: 25px;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

.sl-hero-copy > a:not(.sl-button) {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-top: 10px;
    padding: 15px 19px;
    border: 1px solid var(--sl-coral);
    background: var(--sl-coral);
    color: #fff;
    font: 600 11px/1.6 var(--sl-body);
}
.sl-hero-copy > a:not(.sl-button)::after {
    content: "↗";
    font-size: 20px;
    font-weight: 400;
}
.sl-hero-copy > a:not(.sl-button):hover {
    background: #d64e22;
}

.sl-source-statement { max-width: 66ch; padding: 1rem clamp(1rem, 4vw, 3rem); margin: 1rem 0; }
