@font-face { font-family: 'Brand Manrope'; src: url('/static/brand/Manrope-Display.woff') format('woff'); font-style: normal; font-weight: 750; font-display: swap; }
/* Formodels / Polished titanium. Same outlined silhouette, vector-cut inner facets.
   Keep the solid face outside the animated clip so its edge is antialiased once. */
:root {
    --sm-word-1:#f4f8ff; --sm-word-2:#b6cbe7; --sm-word-3:#fff;
    --sm-word-4:#8caccf; --sm-word-5:#c7b6e7; --sm-word-6:#eef5ff;
    --sm-heart-1:#e6fbff; --sm-heart-2:#7ec9eb; --sm-heart-3:#fff;
    --sm-heart-4:#8c9fc7; --sm-heart-5:#b59bdf; --sm-heart-6:#e4edff;
    --sm-depth:#5c7195; --sm-glint:#fff; --sm-descriptor:#a4b5d3;
    --sm-shine-opacity:.28;
}
html[data-theme="light"] {
    --sm-word-1:#263650; --sm-word-2:#5d7392; --sm-word-3:#8b9bb2;
    --sm-word-4:#3c5475; --sm-word-5:#64517e; --sm-word-6:#31435f;
    --sm-heart-1:#355578; --sm-heart-2:#628daf; --sm-heart-3:#d1e8fa;
    --sm-heart-4:#4b688c; --sm-heart-5:#866299; --sm-heart-6:#384e74;
    --sm-depth:#586c8c; --sm-glint:#f2fbff; --sm-descriptor:#526484;
    --sm-shine-opacity:.12;
}
body a.sm-brand,
html[data-theme] body a.sm-brand {
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    gap:0;
    margin:0;
    padding:2px 0;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    border-radius:5px;
}
body .sm-logo {
    display:inline-flex;
    align-items:center;
    gap:9px;
    width:max-content;
    isolation:isolate;
}
body .sm-logo-symbol {
    display:block;
    flex:0 0 44px;
    width:44px;
    height:44px;
    overflow:visible;
    shape-rendering:geometricPrecision;
}
body .sm-logo-lockup {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    min-width:0;
}
body .sm-logo-wordmark {
    shape-rendering:geometricPrecision;
    display:block;
    width:181px;
    height:auto;
    overflow:visible;
}
/* Span colors are deliberately independent of the legacy .navbar-brand rules. */
html body .sm-brand .sm-logo-descriptor {
    display:block;
    margin:0 0 0 1px;
    padding:0;
    color:var(--sm-descriptor) !important;
    font-family:'Segoe UI',system-ui,sans-serif;
    font-size:8.5px;
    font-weight:650;
    line-height:1;
    letter-spacing:.2em;
    text-transform:uppercase;
    text-shadow:none;
    background:none;
    border:0;
    box-shadow:none;
    animation:none;
}
.sm-word-stop-1 { stop-color:var(--sm-word-1); }
.sm-word-stop-2 { stop-color:var(--sm-word-2); }
.sm-word-stop-3 { stop-color:var(--sm-word-3); }
.sm-word-stop-4 { stop-color:var(--sm-word-4); }
.sm-word-stop-5 { stop-color:var(--sm-word-5); }
.sm-word-stop-6 { stop-color:var(--sm-word-6); }
.sm-heart-stop-1 { stop-color:var(--sm-heart-1); }
.sm-heart-stop-2 { stop-color:var(--sm-heart-2); }
.sm-heart-stop-3 { stop-color:var(--sm-heart-3); }
.sm-heart-stop-4 { stop-color:var(--sm-heart-4); }
.sm-heart-stop-5 { stop-color:var(--sm-heart-5); }
.sm-heart-stop-6 { stop-color:var(--sm-heart-6); }
.sm-heart-depth { stroke:var(--sm-depth); }
.sm-heart-glint { stroke:var(--sm-glint); opacity:.65; }
.sm-heart-side { stroke:var(--sm-depth); }
.sm-word-side { fill:var(--sm-depth); }
.sm-word-bevel-up { fill:var(--sm-glint); opacity:.4; }
.sm-word-bevel-down { fill:var(--sm-word-4); opacity:.4; }
.sm-logo-shine {
    opacity:var(--sm-shine-opacity);
    transform-box:view-box;
    transform:translateX(-32%);
    animation:sm-metal-reveal 2s cubic-bezier(.18,.6,.35,1) .25s both;
}
.sm-brand:is(:hover,:focus-visible) .sm-logo-shine {
    animation:sm-metal-hover 1.4s cubic-bezier(.18,.6,.35,1) both;
}
.sm-brand:focus-visible { outline:2px solid #7aa8ef; outline-offset:5px; }
@keyframes sm-metal-reveal {
    from { transform:translateX(-32%); }
    to { transform:translateX(112%); }
}
@keyframes sm-metal-hover {
    from { transform:translateX(-32%); }
    to { transform:translateX(112%); }
}
@media (max-width:1000px) and (min-width:768px) {
    body .sm-logo-wordmark { width:166px; }
    body .sm-logo-symbol { width:40px; height:40px; flex-basis:40px; }
}
@media (max-width:767px) {
    body .sm-logo { gap:8px; }
    body .sm-logo-symbol { width:35px; height:35px; flex-basis:35px; }
    body .sm-logo-wordmark { width:155px; }
    body .sm-logo-lockup { gap:1px; }
    html body .sm-brand .sm-logo-descriptor { font-size:7.5px; letter-spacing:.18em; }
}
@media (max-width:360px) {
    html[data-theme] body .navbar.bg-glass > .container-fluid { padding-inline:12px !important; }
    html[data-theme] body .navbar.bg-glass .header-tools { gap:2px !important; flex-wrap:wrap; }
    html[data-theme] body .navbar.bg-glass #themeToggle { --switch-width:56px; --switch-height:32px; --switch-thumb:24px; }
    body .topbar .sm-logo-wordmark { width:132px; }
}
@media (prefers-reduced-motion:reduce) {
    .sm-brand .sm-logo-shine { display:none; animation:none !important; }
}
@media (forced-colors:active) {
    .sm-word-side,.sm-word-bevel-up,.sm-word-bevel-down,.sm-heart-side,.sm-heart-glint { display:none; }
    .sm-brand .sm-word-surface { fill:LinkText; }
    .sm-brand .sm-logo-symbol path { stroke:LinkText; }
    .sm-brand .sm-logo-shine { display:none; }
    html body .sm-brand .sm-logo-descriptor { color:LinkText !important; }
}

.sm-logo-wordmark text { font-family:'Brand Manrope','Segoe UI',sans-serif; font-size:145px; font-weight:750; letter-spacing:-5px; }
