:root {
    --bn-primary: #B46C55;
    --bn-primary-dark: #D09A86;
    --bn-primary-light: #8B4B3D;
    --bn-background: #080808;
    --bn-text: #F4EFE8;
    --bn-surface: #151413;
    --bn-muted: #B7ACA3;
    --bn-border: rgba(244, 239, 232, 0.16);
    --bn-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
    --bn-radius: 8px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background:
        radial-gradient(circle at 72% 8%, rgba(180, 108, 85, 0.16), transparent 34rem),
        linear-gradient(180deg, #080808 0%, #11100f 48%, #080808 100%);
    color: var(--bn-text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.7;
}

a {
    color: inherit;
}

.bn-navbar {
    position: relative;
    z-index: 1050;
    background: rgba(8, 8, 8, 0.9);
    border-bottom: 1px solid var(--bn-border);
    backdrop-filter: blur(18px);
}

.bn-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #C7836D;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: 0.34em;
    text-transform: uppercase;
}

.bn-brand:hover,
.bn-brand:focus {
    color: #D09A86;
}

.bn-brand-logo-frame,
.bn-brand-mark {
    width: 58px;
    height: 58px;
}

.bn-brand-logo-frame {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

.bn-brand-logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bn-brand-mark {
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, rgba(180, 108, 85, 0.28), rgba(255, 255, 255, 0.04));
    color: var(--bn-primary-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    line-height: 1;
}

.bn-brand-mark-large {
    width: clamp(10rem, 30vw, 22rem);
    height: clamp(10rem, 30vw, 22rem);
    font-size: clamp(5rem, 12vw, 12rem);
}

.navbar-nav .nav-link {
    color: var(--bn-muted);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--bn-primary-dark);
}

.navbar-nav .nav-link.active {
    color: var(--bn-text);
    background: rgba(180, 108, 85, 0.18);
    border-radius: var(--bn-radius);
    font-weight: 700;
}

.bn-navbar-menu {
    z-index: 1060;
    padding: 0.45rem;
    background: rgba(15, 14, 13, 0.98);
    border: 1px solid rgba(190, 109, 75, 0.28);
    border-radius: var(--bn-radius);
    box-shadow: var(--bn-shadow);
}

.bn-navbar-menu .dropdown-item {
    min-height: 38px;
    border-radius: 6px;
    color: var(--bn-muted);
    font-weight: 600;
}

.bn-navbar-menu .dropdown-item:hover,
.bn-navbar-menu .dropdown-item:focus {
    background: rgba(190, 109, 75, 0.14);
    color: var(--bn-primary-dark);
}

.bn-navbar-menu .dropdown-divider {
    border-color: rgba(190, 109, 75, 0.22);
}

.bn-journal-menu {
    width: min(360px, calc(100vw - 2rem));
}

.bn-journal-menu .dropdown-item {
    white-space: normal;
    line-height: 1.35;
    padding: .65rem .8rem;
}

@media (min-width: 1200px) {
    .bn-navbar .navbar-nav > .nav-item > .nav-link {
        padding-right: .38rem;
        padding-left: .38rem;
        font-size: .92rem;
    }
}

.bn-user-nav {
    margin-left: 0.35rem;
}

.bn-user-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.bn-user-avatar {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(208, 154, 134, 0.65);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgba(208, 154, 134, 0.24), rgba(21, 20, 19, 0.98));
    color: var(--bn-primary-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.bn-user-name {
    max-width: 132px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.btn-bn {
    --bs-btn-bg: var(--bn-primary);
    --bs-btn-border-color: var(--bn-primary);
    --bs-btn-hover-bg: #CF8C77;
    --bs-btn-hover-border-color: #CF8C77;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    border-radius: var(--bn-radius);
    font-weight: 600;
}

.btn-outline-bn {
    --bs-btn-color: var(--bn-text);
    --bs-btn-border-color: var(--bn-primary);
    --bs-btn-hover-bg: rgba(180, 108, 85, 0.16);
    --bs-btn-hover-border-color: var(--bn-primary-dark);
    --bs-btn-hover-color: #fff;
    border-radius: var(--bn-radius);
    font-weight: 600;
}

.bn-hero {
    padding: clamp(5rem, 10vw, 9rem) 0;
}

.bn-hero h1,
.bn-page-header h1 {
    max-width: 900px;
    margin: 0 0 1rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 8vw, 6.5rem);
    line-height: 0.95;
    letter-spacing: 0;
}

.bn-kicker {
    color: var(--bn-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.bn-lead {
    max-width: 700px;
    color: var(--bn-muted);
    font-size: clamp(1.08rem, 2vw, 1.3rem);
}

.bn-logo-grande {
    min-height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 3vw, 2rem);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    box-shadow: var(--bn-shadow);
}

.bn-logo-grande img {
    display: block;
    width: min(100%, 420px);
    height: auto;
    border-radius: var(--bn-radius);
}

.bn-section {
    padding: 4rem 0 5rem;
}

.bn-section-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: 1;
}

.bn-section-text {
    margin: 0;
    color: var(--bn-muted);
    font-size: 1.08rem;
}

.bn-feature {
    min-height: 220px;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
}

.bn-feature h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
}

.ek-hero {
    min-height: calc(100vh - 79px);
    display: flex;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.ek-hero-content {
    width: min(680px, 100%);
    padding: clamp(1rem, 4vw, 2rem) 0;
}

.ek-logo-lockup {
    display: inline-flex;
    align-items: center;
    gap: clamp(0.55rem, 1.2vw, 0.9rem);
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
    color: #C7836D;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    font-weight: 500;
    letter-spacing: 0.38em;
    line-height: 1;
    text-shadow: 0 0 18px rgba(180, 108, 85, 0.18);
    text-transform: uppercase;
}

.ek-hero-mark {
    width: 64px;
    height: 64px;
}

.ek-hero-logo-frame {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: clamp(4.8rem, 9vw, 7rem);
    height: clamp(4.8rem, 9vw, 7rem);
}

.ek-hero-logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ek-hero h1 {
    max-width: 640px;
    color: var(--bn-text);
    margin-bottom: clamp(1rem, 2vw, 1.4rem);
    font-size: clamp(2.25rem, 5.4vw, 4.9rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-shadow:
        0 1px 0 rgba(180, 108, 85, 0.55),
        0 18px 38px rgba(0, 0, 0, 0.44);
}

.ek-hero h1 > span {
    display: block;
}

.ek-hero-kicker {
    margin-bottom: 0.8rem;
    color: #C7836D;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
}

.ek-intro,
.ek-home-manifesto {
    border-top: 1px solid var(--bn-border);
}

.ek-category-stack {
    border-top: 1px solid var(--bn-border);
}

.ek-category-section {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--bn-border);
}

.ek-category-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.ek-category-atelier {
    background: #080706;
}

.ek-category-atelier::before {
    background:
        radial-gradient(circle at 20% 10%, rgba(183, 105, 75, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.18));
}

.ek-category-selection {
    background: #11100e;
}

.ek-category-selection::before {
    background:
        linear-gradient(135deg, rgba(221, 188, 161, 0.08), rgba(183, 105, 75, 0.08) 42%, rgba(0, 0, 0, 0.18)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(0, 0, 0, 0.12));
}

.ek-category-heading {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.75fr);
    gap: clamp(1.25rem, 4vw, 4rem);
    align-items: end;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.ek-category-heading .bn-section-title {
    margin-bottom: 0;
}

.ek-category-heading .bn-section-text {
    margin-bottom: 0;
}

.ek-category-grid {
    border-top: 1px solid var(--bn-border);
}

.ek-category-selection .ek-line-card::after {
    background: linear-gradient(180deg, rgba(14, 13, 12, 0.16), rgba(14, 13, 12, 0.82));
}

.ek-category-selection .ek-line-card-copy span {
    color: #d7a48d;
}

.ek-line-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ek-line-card {
    position: relative;
    min-height: clamp(560px, 70vw, 760px);
    overflow: hidden;
    isolation: isolate;
    border-top: 1px solid var(--bn-border);
    border-right: 1px solid var(--bn-border);
}

.ek-line-card img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms ease;
}

.ek-line-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.08), rgba(8, 8, 8, 0.88));
}

.ek-line-card:hover img {
    transform: scale(1.035);
}

.ek-line-card-copy {
    position: absolute;
    inset: auto 0 0;
    display: grid;
    gap: 0.85rem;
    padding: clamp(1.25rem, 3vw, 2.5rem);
}

.ek-line-card-copy span,
.ek-detail-bands span {
    color: var(--bn-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ek-line-card-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.6rem, 5vw, 5.6rem);
    line-height: 0.95;
}

/* O catálogo usa fotografias de proporções variadas; não trata a imagem como fundo. */
.ek-line-card.ek-catalog-model-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    border: 1px solid var(--bn-border);
    background: #11100f;
}

.ek-line-card.ek-catalog-model-card::after {
    display: none;
}

.ek-line-card.ek-catalog-model-card > img {
    position: static;
    z-index: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    object-position: center;
    background: #090909;
}

.ek-line-card.ek-catalog-model-card:hover > img {
    transform: none;
}

.ek-catalog-model-card .ek-line-card-copy {
    position: static;
    flex: 1;
    align-content: start;
    padding: 1.5rem;
}

.ek-catalog-model-card .ek-line-card-copy h3 {
    font-size: clamp(2rem, 3vw, 3rem);
}

.ek-catalog-model-card .ek-line-card-copy .btn {
    width: fit-content;
    margin-top: auto;
}

.ek-line-card-copy p {
    max-width: 420px;
    margin: 0;
    color: var(--bn-muted);
}

.ek-process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.75rem;
}

.ek-process-grid span,
.ek-material-list span {
    min-height: 72px;
    display: flex;
    align-items: center;
    padding: 1rem;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.045);
    color: var(--bn-text);
}

.ek-availability-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(1.4rem, 4vw, 3rem);
    border: 1px solid rgba(180, 108, 85, 0.34);
    border-radius: var(--bn-radius);
    background: linear-gradient(135deg, rgba(180, 108, 85, 0.12), rgba(255, 255, 255, 0.035));
}

.ek-availability-panel h2 {
    margin: 0 0 0.75rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
}

.ek-availability-panel p {
    max-width: 720px;
    margin: 0;
    color: var(--bn-muted);
}

.ek-mid-header {
    background:
        linear-gradient(110deg, rgba(8, 8, 8, 0.98), rgba(25, 14, 10, 0.86)),
        radial-gradient(circle at 78% 20%, rgba(199, 131, 109, 0.14), transparent 36%);
}

.ek-mid-form {
    display: grid;
    gap: 0.85rem;
}

.ek-mid-divider {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0.35rem 0;
    color: var(--bn-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.ek-mid-divider::before,
.ek-mid-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--bn-border);
}

.ek-mid-result,
.ek-mid-admin-card,
.ek-mid-sample {
    background: linear-gradient(145deg, rgba(23, 21, 19, 0.98), rgba(10, 10, 9, 0.98));
}

.ek-mid-result h2,
.ek-mid-admin-card h2 {
    margin-bottom: 1.4rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
}

.ek-mid-admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
    gap: 1.5rem;
    align-items: start;
}

.ek-mid-code-card,
.ek-mid-preview-card {
    min-width: 0;
}

.ek-mid-identity {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(1.85rem, 3.2vw, 3rem) !important;
    line-height: 1.08 !important;
}

.ek-mid-preview-card {
    display: grid;
    justify-items: center;
}

.ek-mid-canvas {
    display: grid;
    place-items: center;
    width: min(100%, 340px);
    aspect-ratio: 1;
    margin: 0 auto;
    padding: clamp(1rem, 3vw, 2rem);
    border: 1px solid rgba(199, 131, 109, 0.28);
    border-radius: 8px;
    background:
        radial-gradient(circle at center, rgba(199, 131, 109, 0.1), transparent 58%),
        #060606;
}

.ek-mid-canvas svg {
    width: 100%;
    height: 100%;
    max-width: 260px;
    max-height: 260px;
    filter: drop-shadow(0 0 20px rgba(199, 131, 109, 0.16));
}

.ek-mid-canvas-certificado {
    width: min(100%, 260px);
    padding: 1.2rem;
}

.ek-mid-canvas-admin {
    width: min(100%, 420px);
    padding: clamp(1.65rem, 4vw, 2.75rem);
}

.ek-mid-canvas-admin svg {
    max-width: 230px;
    max-height: 230px;
}

.ek-mid-canvas-page {
    width: min(100%, 360px);
}

.ek-mid-canvas-page svg {
    max-width: 220px;
    max-height: 220px;
}

.ek-mid-canvas-client {
    width: min(100%, 180px);
    padding: 0.9rem;
}

.ek-mid-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.5rem 0;
}

.ek-mid-facts div {
    padding: 0.9rem;
    border: 1px solid var(--bn-border);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.035);
}

.ek-mid-facts dt {
    color: var(--bn-primary-dark);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ek-mid-facts dd {
    margin: 0.25rem 0 0;
    color: var(--bn-text);
    font-weight: 700;
}

.ek-mid-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
}

.ek-mid-sample {
    display: grid;
    gap: 0.9rem;
}

.ek-mid-sample .ek-mid-canvas {
    width: 100%;
    padding: 1rem;
}

.ek-mid-sample strong {
    color: var(--bn-text);
    font-size: 0.86rem;
    letter-spacing: 0.04em;
}

.ek-mid-comparison {
    display: grid;
    gap: 1rem;
}

.ek-mid-compare-card {
    display: grid;
    gap: 1rem;
}

.ek-mid-compare-card > strong {
    color: var(--bn-text);
    font-size: 0.92rem;
    letter-spacing: 0.04em;
}

.ek-mid-compare-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 0.75rem;
}

.ek-mid-compare-grid > div {
    display: grid;
    gap: 0.45rem;
}

.ek-mid-compare-grid span {
    color: var(--bn-primary-dark);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.ek-mid-compare-grid .ek-mid-canvas {
    padding: 0.75rem;
}

.ek-mid-debug {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.74rem;
}

.ek-mid-debug div {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.45rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid rgba(190, 109, 75, 0.14);
}

.ek-mid-debug dt {
    color: var(--bn-primary-dark);
    font-weight: 700;
}

.ek-mid-debug dd {
    margin: 0;
    color: var(--bn-muted);
}

.ek-line-hero {
    border-bottom: 1px solid var(--bn-border);
}

.ek-line-mote {
    max-width: 640px;
    margin: 0 0 0.75rem;
    color: #c48a62;
    font-size: clamp(1.08rem, 1.8vw, 1.35rem);
    font-weight: 700;
    line-height: 1.45;
}

.ek-line-hero-image {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    background: var(--bn-surface);
    box-shadow: var(--bn-shadow);
}

.ek-line-hero-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.ek-material-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.ek-detail-bands {
    background: rgba(255, 255, 255, 0.03);
}

.ek-detail-bands article {
    min-height: 100%;
    padding: 1.25rem;
    border-left: 1px solid var(--bn-border);
}

.ek-detail-bands h2 {
    margin: 0.75rem 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.7rem;
}

.ek-detail-bands p {
    margin: 0;
    color: var(--bn-muted);
}

.ek-line-specifications h2 {
    margin-bottom: 2rem;
    font-size: 2rem;
}

.ek-spec-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 2rem;
}

.ek-spec-group {
    min-width: 0;
    border-top: 1px solid var(--bn-border);
    padding-top: 1rem;
    overflow-wrap: anywhere;
    letter-spacing: 0;
}

.ek-spec-number {
    color: var(--bn-primary);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0;
}

.ek-spec-group h3 {
    margin: 0.75rem 0 1.5rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
}

.ek-spec-group dl,
.ek-spec-group dd {
    margin: 0;
}

.ek-spec-group dl > div + div {
    margin-top: 1rem;
}

.ek-spec-group dt {
    margin-bottom: 0.25rem;
    font-weight: 700;
}

.ek-spec-group dd {
    color: var(--bn-muted);
    white-space: pre-line;
}

.ek-spec-admin .bn-admin-heading h1 {
    font-size: 2rem;
    letter-spacing: 0;
}

.ek-spec-line-picker,
.ek-spec-models,
.ek-spec-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.ek-spec-line-picker {
    align-items: end;
}

.ek-spec-line-picker > div {
    flex: 1 1 220px;
    max-width: 360px;
}

.ek-spec-models {
    margin: 1.5rem 0 2rem;
    font-size: 0.9rem;
}

.ek-spec-models a {
    color: var(--bn-primary);
}

.ek-spec-editor,
.ek-spec-new-group {
    border-top: 1px solid var(--bn-border);
    padding: 1rem 0;
    scroll-margin-top: 1rem;
}

.ek-spec-editor summary {
    padding: 0.5rem 0;
    font-size: 1.15rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.ek-spec-editor summary > span {
    margin-right: 0.75rem;
}

.ek-spec-editor summary small {
    color: var(--bn-muted);
    font-size: 0.85rem;
    font-weight: 400;
}

.ek-spec-group-form,
.ek-spec-item-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 85px 110px minmax(150px, auto);
    gap: 1rem;
    align-items: end;
    padding: 1rem 0;
}

.ek-spec-item-form {
    grid-template-columns: minmax(150px, 1fr) minmax(200px, 1.5fr) 85px 100px 160px;
    border-top: 1px solid var(--bn-border);
}

.ek-spec-admin .form-label {
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
}

.ek-spec-published {
    margin-bottom: 0.65rem;
}

.ek-spec-actions {
    gap: 0.5rem;
}

.ek-spec-add-title,
.ek-spec-new-group h2 {
    margin: 1.5rem 0 0;
    font-size: 1.15rem;
}

@media (max-width: 991px) {
    .ek-spec-item-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) 85px;
    }

    .ek-spec-item-form .ek-spec-actions {
        grid-column: 2 / -1;
    }
}

@media (max-width: 575px) {
    .ek-spec-group-form,
    .ek-spec-item-form {
        grid-template-columns: minmax(0, 1fr) 85px;
    }

    .ek-spec-item-form > div:nth-of-type(1),
    .ek-spec-item-form > div:nth-of-type(2),
    .ek-spec-group-form .ek-spec-actions,
    .ek-spec-item-form .ek-spec-actions {
        grid-column: 1 / -1;
    }

    .ek-spec-item-form > div:nth-of-type(3) {
        grid-column: 2;
        grid-row: 3;
    }

    .ek-spec-item-form .ek-spec-published {
        grid-column: 1;
        grid-row: 3;
    }

    .ek-spec-new-group .ek-spec-group-form > button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

.ek-line-models {
    background: rgba(255, 255, 255, 0.018);
}

.ek-model-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    background: linear-gradient(145deg, rgba(31, 29, 27, 0.98), rgba(13, 12, 11, 0.98));
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

[data-model-url] {
    cursor: pointer;
}

.ek-model-carousel,
.ek-model-carousel .carousel-inner,
.ek-model-carousel .carousel-item {
    background: #070706;
}

.ek-model-carousel .carousel-item {
    position: relative;
}

.ek-model-carousel img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.ek-model-carousel-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.ek-model-carousel .ek-model-carousel-link {
    position: relative;
    z-index: 1;
}

.ek-model-carousel .carousel-control-prev,
.ek-model-carousel .carousel-control-next {
    z-index: 3;
}

.ek-model-carousel-link:hover img,
.ek-model-carousel-link:focus-visible img {
    filter: brightness(1.06);
}

.ek-line-hero-image.ek-model-carousel img {
    aspect-ratio: 4 / 5;
}

.ek-concept-image-notice {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: 0.8rem;
    padding: 0.7rem 0.85rem;
    border-left: 2px solid var(--bn-primary);
    background: rgba(190, 111, 78, 0.07);
    color: var(--bn-muted);
    font-size: 0.78rem;
    line-height: 1.55;
}

.ek-concept-image-notice i {
    flex: 0 0 auto;
    margin-top: 0.18rem;
    color: var(--bn-primary-dark);
}

.ek-terms-document {
    max-width: 920px;
    white-space: normal;
    line-height: 1.85;
}

.ek-terms-modal .modal-dialog {
    position: relative;
    z-index: 1060;
}

.ek-terms-scroll {
    max-height: min(52vh, 520px);
    overflow-y: auto;
    padding-right: 0.75rem;
    color: var(--bn-muted);
    line-height: 1.75;
}

.ek-model-card-copy {
    display: grid;
    gap: 0.8rem;
    padding: 1.25rem;
}

.ek-model-card-copy span,
.ek-model-card-copy strong {
    color: var(--bn-copper-light);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ek-model-card-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    line-height: 1;
}

.ek-model-card-copy h3 a {
    color: var(--bn-text);
    text-decoration: none;
}

.ek-model-card-copy h3 a:hover,
.ek-model-card-copy h3 a:focus-visible {
    color: var(--bn-primary);
}

.ek-model-card-copy p {
    margin: 0;
    color: var(--bn-muted);
}

.ek-model-card-copy .ek-model-card-mote,
.ek-home-model-copy .ek-home-model-mote {
    color: #c48a62;
    font-weight: 700;
}

.ek-free-shipping-tag,
.ek-model-card-copy .ek-free-shipping-tag,
.ek-home-model-copy .ek-free-shipping-tag,
.ek-catalog-model-card .ek-free-shipping-tag {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(190, 109, 75, 0.42);
    border-radius: 4px;
    background: rgba(190, 109, 75, 0.1);
    color: var(--bn-copper-light);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
}

.bn-books {
    background: rgba(255, 255, 255, 0.03);
}

.bn-page-header {
    min-height: 64vh;
    display: flex;
    align-items: center;
    padding: 5rem 0;
}

.bn-admin-box {
    max-width: 520px;
    padding: 2rem;
    background: var(--bn-surface);
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    box-shadow: var(--bn-shadow);
}

.bn-page-header .bn-login-title {
    margin-bottom: 1.5rem;
    font-size: clamp(2.1rem, 5vw, 3.25rem);
    line-height: 1;
}

.bn-code-input {
    max-width: 180px;
    font-size: 1.4rem;
    letter-spacing: 0.18em;
    text-align: center;
}

.bn-admin-section {
    padding: 4rem 0 5rem;
}

.bn-admin-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
}

.bn-admin-heading h1,
.bn-admin-panel h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
}

.bn-admin-heading h1 {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: 1;
}

.bn-admin-panel {
    padding: clamp(1rem, 3vw, 2rem);
    background: linear-gradient(145deg, rgba(31, 29, 27, 0.98), rgba(16, 15, 14, 0.98));
    border: 1px solid rgba(190, 109, 75, 0.28);
    border-radius: var(--bn-radius);
    color: var(--bn-text);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

.bn-admin-nav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.bn-admin-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.bn-admin-metrics .bn-admin-panel {
    display: grid;
    gap: 0.35rem;
    min-height: 112px;
}

.bn-admin-metrics span {
    color: var(--bn-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-admin-metrics strong {
    color: var(--bn-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    line-height: 1;
}

.bn-admin-nav-grid h2 {
    margin: 0 0 1rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
}

.bn-admin-link-list {
    display: grid;
    gap: 0.5rem;
}

.bn-admin-link-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 46px;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.07);
    color: var(--bn-text);
    text-decoration: none;
}

.bn-admin-link-list a:hover,
.bn-admin-link-list a:focus {
    border-color: var(--bn-primary);
    background: rgba(190, 109, 75, 0.12);
    color: var(--bn-primary-dark);
}

.bn-admin-link-list small {
    color: var(--bn-primary-dark);
    font-weight: 700;
    text-transform: uppercase;
}

.bn-admin-check {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(190, 109, 75, 0.28);
    border-radius: var(--bn-radius);
    background: rgba(27, 25, 23, 0.96);
    color: var(--bn-text);
}

.bn-admin-check .form-check-label {
    color: var(--bn-text);
}

.bn-admin-check .form-check-input {
    border-color: rgba(208, 154, 134, 0.72);
    background-color: rgba(8, 8, 8, 0.82);
}

.bn-admin-check .form-check-input:checked {
    border-color: var(--bn-primary-dark);
    background-color: var(--bn-primary);
}

.bn-terms-box {
    padding: 1rem;
    border: 1px solid rgba(190, 109, 75, 0.28);
    border-radius: var(--bn-radius);
    background: linear-gradient(145deg, rgba(31, 29, 27, 0.98), rgba(16, 15, 14, 0.98));
    color: var(--bn-text);
    font-size: 0.92rem;
}

.bn-terms-box strong {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--bn-primary-dark);
}

.bn-terms-box p {
    margin: 0;
    color: var(--bn-muted);
}

.bn-terms-box p strong,
.bn-terms-box .text-light {
    color: var(--bn-text);
}

.bn-summary-list {
    display: grid;
    gap: 0.7rem;
}

.bn-summary-list div {
    display: grid;
    grid-template-columns: minmax(110px, 0.35fr) 1fr;
    gap: 1rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid var(--bn-border);
}

.bn-summary-list dt {
    color: var(--bn-muted);
    font-weight: 700;
}

.bn-summary-list dd {
    margin: 0;
}

.bn-calendar {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 1fr);
    gap: 0.75rem;
    max-height: 460px;
    overflow: auto;
    padding: 0.25rem 0.25rem 0.75rem;
}

.bn-calendar[data-empty="1"]::after {
    content: "Nenhum horario disponivel para os filtros atuais.";
    color: var(--bn-muted);
}

.bn-calendar-compact {
    grid-auto-columns: minmax(150px, 1fr);
    max-height: 390px;
}

.bn-calendar-day {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.56);
}

.bn-calendar-day header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid var(--bn-border);
    background: rgba(201, 133, 93, 0.1);
}

.bn-calendar-day header strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    line-height: 1;
}

.bn-calendar-day header span {
    color: var(--bn-muted);
    font-weight: 700;
}

.bn-calendar-hours {
    display: grid;
    gap: 0.45rem;
    padding: 0.65rem;
}

.bn-slot {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.45rem 0.55rem;
    align-items: center;
    min-height: 54px;
    padding: 0.55rem 0.6rem;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.72);
    cursor: pointer;
}

.bn-slot input {
    width: 18px;
    height: 18px;
}

.bn-slot span,
.bn-slot small {
    display: block;
}

.bn-slot small {
    grid-column: 2;
    color: var(--bn-primary-dark);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-slot:has(input:checked) {
    border-color: var(--bn-primary);
    background: rgba(201, 133, 93, 0.14);
}

.bn-slot-busy {
    opacity: 0.58;
    cursor: not-allowed;
    background: rgba(47, 41, 38, 0.08);
}

.bn-slot-busy small {
    color: var(--bn-muted);
}

.bn-admin-muted {
    color: var(--bn-muted);
}

.bn-admin-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--bn-text);
    --bs-table-border-color: rgba(190, 109, 75, 0.18);
    background: transparent;
    color: var(--bn-text);
}

.bn-admin-table thead th {
    color: var(--bn-primary-dark);
    border-color: rgba(190, 109, 75, 0.24);
}

.bn-admin-table-sort {
    color: inherit;
    text-decoration: none;
}

.bn-admin-table-sort:hover {
    color: var(--bn-primary);
}

.bn-admin-action-menu {
    --bs-dropdown-min-width: 11rem;
    --bs-dropdown-padding-y: 0.35rem;
    --bs-dropdown-bg: #171411;
    --bs-dropdown-border-color: rgba(190, 109, 75, 0.38);
    --bs-dropdown-link-color: var(--bn-text);
    --bs-dropdown-link-hover-color: var(--bn-text);
    --bs-dropdown-link-hover-bg: rgba(190, 109, 75, 0.16);
    --bs-dropdown-divider-bg: rgba(190, 109, 75, 0.24);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
}

.bn-admin-action-menu .dropdown-item {
    font-weight: 700;
    padding: 0.48rem 0.9rem;
}

.bn-admin-action-menu form {
    margin: 0;
}

.bn-admin-table tbody td {
    color: var(--bn-text);
    border-color: rgba(244, 239, 232, 0.1);
}

.bn-admin-table tbody tr:hover > * {
    background: rgba(190, 109, 75, 0.08);
    color: var(--bn-text);
}

.bn-admin-table tbody tr.bn-admin-row-expired > * {
    background: #FCE8E8;
    color: #7C1D1D;
}

.bn-admin-table tbody tr.bn-admin-row-expired:hover > * {
    background: #F8D3D3;
}

.bn-admin-table-tools {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(260px, 1fr);
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.ek-unit-search {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(150px, 0.8fr) minmax(140px, 0.7fr) minmax(140px, 0.7fr) auto;
    align-items: end;
    gap: 1rem;
}

.ek-unit-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ek-unit-table td strong,
.ek-unit-table td span {
    display: block;
}

.ek-unit-table td span {
    margin-top: 0.2rem;
    color: var(--bn-muted);
    font-size: 0.84rem;
}

.ek-unit-card {
    height: 100%;
}

.ek-unit-timeline {
    display: grid;
    gap: 0.85rem;
}

.ek-unit-timeline div {
    padding: 0 0 0.85rem 1rem;
    border-bottom: 1px solid rgba(190, 109, 75, 0.18);
    border-left: 2px solid rgba(190, 109, 75, 0.58);
}

.ek-unit-timeline span,
.ek-unit-timeline strong,
.ek-unit-timeline p {
    display: block;
}

.ek-unit-timeline span {
    color: var(--bn-primary-dark);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.ek-unit-timeline p {
    margin: 0.35rem 0 0;
    color: var(--bn-muted);
}

.ek-unit-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.9rem;
}

.ek-unit-media-grid a {
    display: grid;
    gap: 0.45rem;
    color: var(--bn-text);
    text-decoration: none;
}

.ek-unit-media-item {
    display: grid;
    gap: 0.65rem;
    align-content: start;
}

.ek-unit-media-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.04);
}

.ek-unit-media-grid span {
    color: var(--bn-muted);
    font-size: 0.85rem;
}

.ek-unit-process-form {
    padding: 1rem;
    border: 1px solid rgba(190, 109, 75, 0.18);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.025);
}

.ek-production-trail {
    padding: 1rem;
    border: 1px solid rgba(190, 109, 75, 0.18);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.025);
}

.ek-production-trail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ek-production-step-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.85rem;
}

.ek-production-step {
    padding: 0.85rem;
    border: 1px solid rgba(190, 109, 75, 0.18);
    border-radius: var(--bn-radius);
    background: rgba(0, 0, 0, 0.16);
}

.ek-production-step.is-current {
    border-color: rgba(199, 131, 109, 0.72);
    box-shadow: 0 0 0 1px rgba(199, 131, 109, 0.16);
}

.ek-production-step header {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.7rem;
}

.ek-production-step header span {
    color: var(--bn-primary-dark);
    font-size: 0.8rem;
    font-weight: 700;
}

.ek-production-thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.ek-production-thumb {
    display: grid;
    gap: 0.45rem;
}

.ek-production-thumbs img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid rgba(190, 109, 75, 0.24);
    border-radius: 6px;
}

.ek-client-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.ek-client-summary .bn-admin-panel {
    display: grid;
    gap: 0.55rem;
    min-height: 116px;
}

.ek-client-summary span {
    color: var(--bn-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ek-client-summary strong {
    color: var(--bn-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1;
}

.ek-client-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.ek-client-watch-table td,
.ek-client-watch-table th {
    white-space: nowrap;
}

.ek-client-unit-card {
    height: 100%;
}

.ek-client-unit-card-auto {
    height: auto;
}

.ek-mid-canvas-client-detail {
    width: min(100%, 260px);
    padding: 1.2rem;
}

.ek-mid-canvas-client-detail svg {
    max-width: 190px;
    max-height: 190px;
}

.ek-client-watch-grid {
    display: grid;
    gap: 1rem;
}

.ek-client-watch-card {
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.025);
}

.ek-client-watch-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.ek-client-watch-head h3 {
    margin: 0 0 0.35rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    line-height: 1;
}

.ek-client-watch-assets {
    display: grid;
    grid-template-columns: minmax(160px, 0.8fr) minmax(150px, 0.6fr) minmax(220px, 1fr);
    gap: 1rem;
    align-items: start;
    margin-top: 1.25rem;
}

.ek-client-process-link {
    display: grid;
    gap: 0.55rem;
    color: var(--bn-text);
    text-decoration: none;
}

.ek-client-process-link img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border: 1px solid rgba(190, 109, 75, 0.25);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.04);
}

.ek-client-process-link span {
    color: var(--bn-muted);
    font-size: 0.9rem;
}

.ek-client-production-carousel {
    overflow: hidden;
    padding-bottom: 2rem;
}

.ek-client-production-slide {
    display: grid;
    gap: 0.75rem;
    color: var(--bn-text);
    text-decoration: none;
}

.ek-client-production-slide img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border: 1px solid rgba(190, 109, 75, 0.25);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.04);
}

.ek-client-production-slide span {
    color: var(--bn-muted);
    font-size: 0.9rem;
}

.ek-client-production-carousel .carousel-control-prev,
.ek-client-production-carousel .carousel-control-next {
    width: 2.75rem;
}

.ek-client-production-carousel .carousel-control-prev-icon,
.ek-client-production-carousel .carousel-control-next-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background-color: rgba(8, 8, 8, 0.78);
    background-size: 55%;
}

.ek-client-production-carousel .carousel-indicators {
    bottom: -0.4rem;
    margin-bottom: 0;
}

.ek-client-production-carousel .carousel-indicators [data-bs-target] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    border: 0;
    background-color: rgba(199, 131, 109, 0.42);
}

.ek-client-production-carousel .carousel-indicators .active {
    background-color: var(--bn-primary);
}

.bn-actions-menu {
    min-width: 180px;
    background: var(--bn-surface);
    border: 1px solid rgba(190, 109, 75, 0.28);
    box-shadow: var(--bn-shadow);
}

.bn-actions-menu form {
    margin: 0;
}

.bn-actions-menu .dropdown-item {
    color: var(--bn-text);
    font-weight: 600;
}

.bn-actions-menu .dropdown-item:hover,
.bn-actions-menu .dropdown-item:focus {
    background: rgba(190, 109, 75, 0.14);
    color: var(--bn-primary-dark);
}

.bn-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.bn-badge-success {
    background: #E7F6EC;
    color: #176B3A;
}

.bn-badge-warning {
    background: #FFF4D8;
    color: #8A5B00;
}

.bn-badge-danger {
    background: #FCE8E8;
    color: #9A1F1F;
}

.bn-badge-muted {
    background: #ECE8E4;
    color: #6B625D;
}

.bn-badge-neutral {
    background: #E7EEF8;
    color: #24476B;
}

.bn-resource-status-stack {
    display: grid;
    justify-items: start;
    gap: 0.35rem;
}

.bn-resource-status-stack small {
    color: var(--bn-muted);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-kanban {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 340px);
    gap: 1rem;
    overflow-x: auto;
    padding: 0.25rem 0.25rem 1rem;
}

.bn-kanban-filter {
    max-width: 640px;
    padding: 14px 16px;
}

.ek-client-shipping-details + .ek-client-shipping-details {
    border-top: 1px solid rgba(191, 112, 82, .25);
    margin-top: 20px;
    padding-top: 20px;
}

.bn-kanban-column {
    min-height: 420px;
    padding: 0.85rem;
    border: 1px solid rgba(190, 109, 75, 0.26);
    border-radius: var(--bn-radius);
    background: linear-gradient(145deg, rgba(31, 29, 27, 0.98), rgba(16, 15, 14, 0.98));
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.bn-kanban-column.is-drag-over {
    border-color: var(--bn-primary);
    background: rgba(190, 109, 75, 0.12);
}

.bn-kanban-column.is-saving {
    opacity: 0.7;
    pointer-events: none;
}

.bn-kanban-column header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.bn-kanban-column h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
    color: var(--bn-text);
}

.bn-kanban-column header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(190, 109, 75, 0.18);
    color: var(--bn-primary-dark);
    font-weight: 700;
}

.bn-kanban-stack {
    display: grid;
    gap: 0.75rem;
}

.bn-kanban-card {
    padding: 0.9rem;
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.055);
    color: var(--bn-text);
    cursor: grab;
    transition: opacity 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.bn-kanban-card.is-dragging {
    opacity: 0.45;
    border-color: var(--bn-primary);
    cursor: grabbing;
}

.bn-kanban-card.is-return-period {
    border-color: #d98532;
    box-shadow: inset 4px 0 0 #d98532;
}

.bn-kanban-card.is-ready-to-close {
    border-color: #3f9b68;
    box-shadow: inset 4px 0 0 #3f9b68;
}

.bn-return-period-note {
    border-top: 1px solid currentColor;
    color: #d98532;
    font-size: 12px;
    font-weight: 700;
    margin-top: 14px;
    padding-top: 10px;
}

.is-ready-to-close .bn-return-period-note {
    color: #68b987;
}

.bn-kanban-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.bn-kanban-hours-modal {
    border: 1px solid rgba(190, 109, 75, 0.35);
    background: #171513;
    color: var(--bn-text);
}

.bn-shipping-parties {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 20px;
}

.bn-shipping-parties section {
    border: 1px solid rgba(191, 112, 82, .35);
    padding: 14px 16px;
}

.bn-shipping-parties span {
    color: var(--bn-copper, #cf8062);
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.bn-shipping-parties strong {
    display: block;
    margin-bottom: 6px;
}

.bn-shipping-parties p {
    color: var(--bn-muted, #c7bbb4);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
    white-space: pre-line;
}

@media (max-width: 575px) {
    .bn-shipping-parties { grid-template-columns: 1fr; }
}

.bn-kanban-card strong,
.bn-kanban-card a {
    font-weight: 700;
}

.bn-kanban-card a {
    color: var(--bn-primary-dark);
    text-decoration: none;
}

.bn-kanban-card a:hover,
.bn-kanban-card a:focus {
    color: var(--bn-primary);
}

.bn-kanban-card p {
    margin: 0.45rem 0 0.75rem;
    color: var(--bn-muted);
}

.bn-kanban-client {
    display: grid;
    gap: 0.15rem;
    margin: 0 0 0.85rem;
    padding: 0.65rem 0;
    border-top: 1px solid rgba(190, 109, 75, 0.18);
    border-bottom: 1px solid rgba(190, 109, 75, 0.18);
}

.bn-kanban-client > span {
    color: var(--bn-primary-dark);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-kanban-client a {
    width: fit-content;
    font-size: 0.88rem;
    overflow-wrap: anywhere;
}

.bn-kanban-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0 0 0.75rem;
}

.bn-kanban-card dt {
    color: var(--bn-primary-dark);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-kanban-card dd {
    margin: 0;
    font-weight: 700;
}

.bn-kanban-empty {
    margin: 0;
    color: var(--bn-muted);
}

.ek-client-production-stage {
    display: grid;
    gap: 0.25rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-left: 3px solid var(--bn-primary);
    background: rgba(190, 109, 75, 0.08);
}

.ek-client-production-stage span {
    color: var(--bn-muted);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.ek-client-production-stage strong {
    color: var(--bn-primary-dark);
    font-size: 1rem;
}

.bn-confirmation-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.bn-schedule-scroll {
    overflow-x: visible;
    padding: 0.15rem 0 0.5rem;
}

.bn-schedule-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.75rem;
    padding: 1rem;
}

.bn-schedule-filter > div {
    min-width: 150px;
}

.bn-schedule-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.55rem;
    width: 100%;
}

.bn-schedule-weekday {
    color: var(--bn-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.bn-schedule-day {
    min-height: 102px;
    padding: 0.55rem;
    border: 1px solid rgba(190, 109, 75, 0.24);
    border-radius: var(--bn-radius);
    background: linear-gradient(145deg, rgba(31, 29, 27, 0.98), rgba(16, 15, 14, 0.98));
    color: var(--bn-text);
}

.bn-schedule-day.is-muted {
    opacity: 0.52;
}

.bn-schedule-day.is-today {
    border-color: var(--bn-primary-dark);
    background: linear-gradient(145deg, rgba(48, 35, 29, 0.98), rgba(19, 17, 16, 0.98));
    box-shadow: inset 0 0 0 1px rgba(208, 154, 134, 0.32), 0 14px 36px rgba(0, 0, 0, 0.26);
}

.bn-schedule-day.is-today header strong {
    color: var(--bn-primary-dark);
}

.bn-schedule-day header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.bn-schedule-day header strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.12rem;
    line-height: 1;
}

.bn-schedule-day header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(190, 109, 75, 0.18);
    color: var(--bn-primary-dark);
    font-weight: 700;
}

.bn-schedule-events {
    display: grid;
    gap: 0.32rem;
}

.bn-schedule-event {
    width: 100%;
    padding: 0.38rem 0.45rem;
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.055);
    color: var(--bn-text);
    text-align: left;
}

.bn-schedule-event small,
.bn-schedule-event span,
.bn-schedule-event em {
    display: block;
}

.bn-schedule-event small {
    color: var(--bn-primary-dark);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-schedule-event span {
    margin-top: 0.18rem;
    overflow: hidden;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.18;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bn-schedule-event em {
    overflow: hidden;
    margin-top: 0.15rem;
    color: var(--bn-muted);
    font-size: 0.7rem;
    font-style: normal;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bn-schedule-event:hover,
.bn-schedule-event:focus {
    border-color: var(--bn-primary);
    background: rgba(190, 109, 75, 0.12);
}

.bn-schedule-modal {
    background: var(--bn-surface);
    border: 1px solid rgba(190, 109, 75, 0.28);
    color: var(--bn-text);
}

.bn-schedule-modal .modal-header,
.bn-schedule-modal .modal-footer {
    border-color: rgba(190, 109, 75, 0.2);
}

.bn-schedule-modal h2 {
    font-family: Georgia, "Times New Roman", serif;
}

@media (max-width: 991.98px) {
    .bn-schedule-scroll {
        overflow-x: auto;
        padding-bottom: 0.85rem;
    }

    .bn-schedule-grid {
        min-width: 760px;
        gap: 0.45rem;
    }

    .bn-schedule-day {
        min-height: 92px;
        padding: 0.45rem;
    }
}

@media (max-width: 575.98px) {
    .bn-schedule-scroll {
        overflow-x: visible;
    }

    .bn-schedule-grid {
        display: block;
        min-width: 0;
    }

    .bn-schedule-weekday {
        display: none;
    }

    .bn-schedule-day {
        display: grid;
        grid-template-columns: 52px 1fr;
        gap: 0.65rem;
        min-height: 0;
        margin-bottom: 0.55rem;
    }

    .bn-schedule-day.is-muted {
        display: none;
    }

    .bn-schedule-day header {
        align-items: start;
        margin: 0;
    }

    .bn-schedule-events {
        min-height: 28px;
    }

    .bn-schedule-events:empty::after {
        content: "Sem itens";
        color: var(--bn-muted);
        font-size: 0.82rem;
    }

    .bn-schedule-event span {
        white-space: normal;
    }

    .bn-schedule-event em {
        white-space: normal;
    }
}

.bn-wizard {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.bn-wizard span {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 46px;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.5);
    color: var(--bn-muted);
    font-weight: 700;
}

.bn-wizard b {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(47, 41, 38, 0.08);
    color: var(--bn-text);
    font-size: 0.82rem;
}

.bn-wizard .is-current {
    border-color: var(--bn-primary);
    background: rgba(201, 133, 93, 0.14);
    color: var(--bn-primary-dark);
}

.bn-wizard .is-done {
    color: var(--bn-text);
}

.bn-wizard-panel {
    max-width: 1120px;
    margin: 0 auto;
}

.bn-choice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
    height: 100%;
    min-height: 96px;
    padding: 1rem;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    background: rgba(255, 255, 255, 0.62);
    cursor: pointer;
}

.bn-choice input {
    margin-top: 0.2rem;
}

.bn-choice strong,
.bn-choice small {
    display: block;
}

.bn-choice small {
    margin-top: 0.25rem;
    color: var(--bn-muted);
}

.bn-choice:has(input:checked) {
    border-color: var(--bn-primary);
    background: rgba(201, 133, 93, 0.14);
}

.bn-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.15rem 0.55rem;
    border: 1px solid var(--bn-border);
    border-radius: 999px;
    color: var(--bn-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bn-admin-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
}

.bn-bulk-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    color: var(--bn-text);
}

.bn-bulk-check,
.bn-admin-photo-selector {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
}

.bn-admin-photo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(31, 29, 27, 0.98), rgba(16, 15, 14, 0.98));
    border: 1px solid rgba(190, 109, 75, 0.22);
    border-radius: var(--bn-radius);
    color: var(--bn-text);
}

.bn-admin-photo-selector {
    position: absolute;
    top: 0.6rem;
    left: 0.6rem;
    z-index: 2;
    padding: 0.35rem 0.55rem;
    background: rgba(16, 15, 14, 0.92);
    border: 1px solid rgba(190, 109, 75, 0.28);
    border-radius: var(--bn-radius);
    color: var(--bn-text);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.bn-admin-photo-selected {
    border-color: var(--bn-primary);
    box-shadow: 0 0 0 3px rgba(201, 133, 93, 0.14);
}

.bn-admin-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.bn-admin-photo-body {
    padding: 1rem;
}

.bn-admin-photo-body strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 0.86rem;
}

.bn-admin-photo-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

.bn-admin-note {
    padding: 0.65rem 0.75rem;
    background: rgba(201, 133, 93, 0.1);
    border-left: 3px solid var(--bn-primary);
    color: var(--bn-text);
    font-size: 0.88rem;
}

.bn-client-selection {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.bn-selection-summary {
    position: sticky;
    top: 96px;
    padding: 1.25rem;
    background: var(--bn-surface);
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
}

.bn-selection-summary h2 {
    margin-bottom: 1rem;
}

.bn-payment-callout {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid rgba(201, 133, 93, 0.38);
    border-radius: var(--bn-radius);
    box-shadow: 0 18px 44px rgba(70, 49, 37, 0.1);
}

.bn-payment-callout h2 {
    margin: 0 0 0.35rem;
}

.bn-payment-callout p:last-child {
    margin-bottom: 0;
}

.bn-selection-meter,
.bn-price-highlight {
    display: grid;
    gap: 0.1rem;
    padding: 0.85rem;
    margin-bottom: 0.75rem;
    background: rgba(201, 133, 93, 0.1);
    border-radius: var(--bn-radius);
}

.bn-selection-meter strong,
.bn-price-highlight strong {
    font-size: 1.45rem;
}

.bn-selection-meter span,
.bn-price-highlight span {
    color: var(--bn-muted);
    font-size: 0.86rem;
}

.bn-selection-totals {
    display: grid;
    gap: 0.55rem;
    margin: 1rem 0 0;
}

.bn-selection-totals div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid var(--bn-border);
    padding-top: 0.55rem;
}

.bn-selection-totals dt {
    color: var(--bn-muted);
    font-weight: 500;
}

.bn-selection-totals dd {
    margin: 0;
    font-weight: 700;
}

.bn-first-pick {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(201, 133, 93, 0.3);
    border-radius: var(--bn-radius);
    background: #fff;
    box-shadow: 0 14px 34px rgba(70, 49, 37, 0.12);
}

.bn-first-pick span {
    display: block;
    color: var(--bn-muted);
}

.bn-first-pick.is-visible {
    animation: bnFirstPick 700ms ease;
}

.bn-client-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.bn-client-photo {
    overflow: hidden;
    padding: 0.85rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
}

.bn-photo-choice {
    display: grid;
    gap: 0.6rem;
    cursor: pointer;
}

.bn-photo-choice input:checked + img {
    outline: 4px solid rgba(201, 133, 93, 0.55);
    outline-offset: -4px;
}

.bn-client-photo img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: var(--bn-radius);
}

.bn-photo-note {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.75rem;
    color: var(--bn-muted);
    font-size: 0.86rem;
}

.bn-photo-note textarea {
    width: 100%;
    min-height: 72px;
    resize: vertical;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    padding: 0.55rem 0.7rem;
    color: var(--bn-text);
}

@keyframes bnFirstPick {
    0% {
        transform: translateY(10px) scale(0.98);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

.bn-print-options {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.bn-print-options p {
    margin: 0 0 0.15rem;
    color: var(--bn-text);
    font-size: 0.9rem;
    font-weight: 700;
}

.bn-print-options label {
    display: grid;
    grid-template-columns: 1fr 78px;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.86rem;
}

.bn-print-options input {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    padding: 0.25rem 0.45rem;
}

.bn-book-showcase {
    padding: clamp(2rem, 5vw, 4rem) 0;
    border-top: 1px solid var(--bn-border);
}

.bn-book-copy {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: clamp(2rem, 4vw, 3rem) clamp(0rem, 3vw, 2rem);
    text-align: center;
}

.bn-book-count {
    color: var(--bn-primary-dark);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bn-book-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 5vw, 4.6rem);
    line-height: 0.95;
}

.bn-book-copy p {
    max-width: 420px;
    margin: 0;
    color: var(--bn-muted);
    font-size: 1.08rem;
}

.bn-book-mosaic {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
    grid-template-rows: repeat(3, minmax(150px, 12vw));
    gap: 0.75rem;
}

.bn-book-photo {
    appearance: none;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: var(--bn-radius);
    background: var(--bn-surface);
    border: 1px solid var(--bn-border);
    cursor: zoom-in;
}

.bn-book-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 24%;
    transition: transform 180ms ease;
}

.bn-book-photo:hover img,
.bn-book-photo:focus-visible img {
    transform: scale(1.035);
}

.bn-book-photo:focus-visible {
    outline: 3px solid rgba(201, 133, 93, 0.45);
    outline-offset: 3px;
}

.bn-book-photo-main {
    grid-row: 1 / span 3;
}

.bn-book-photo:nth-child(6) {
    grid-column: 2 / span 2;
}

.bn-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 4vw, 3rem);
    background: rgba(47, 41, 38, 0.88);
}

.bn-lightbox[hidden] {
    display: none;
}

.bn-lightbox img {
    max-width: min(100%, 1400px);
    max-height: 92vh;
    width: auto;
    height: auto;
    border-radius: var(--bn-radius);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
    object-fit: contain;
}

.bn-lightbox-close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--bn-text);
    font-size: 1.8rem;
    line-height: 0;
    font-family: Arial, Helvetica, sans-serif;
}

body.bn-lightbox-open {
    overflow: hidden;
}

.bn-upload-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(47, 41, 38, 0.72);
}

.bn-upload-overlay[hidden] {
    display: none;
}

.bn-upload-overlay > div {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
    width: min(420px, 100%);
    padding: 2rem;
    text-align: center;
    background: var(--bn-surface);
    border: 1px solid var(--bn-border);
    border-radius: var(--bn-radius);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
}

.bn-upload-overlay strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
}

.bn-upload-overlay p {
    margin: 0;
    color: var(--bn-muted);
}

.bn-upload-spinner {
    width: 54px;
    height: 54px;
    border: 5px solid rgba(201, 133, 93, 0.22);
    border-top-color: var(--bn-primary);
    border-radius: 50%;
    animation: bnSpin 780ms linear infinite;
}

body.bn-uploading {
    cursor: progress;
}

@keyframes bnSpin {
    to {
        transform: rotate(360deg);
    }
}

.form-control,
.form-select {
    border-color: var(--bn-border);
    border-radius: var(--bn-radius);
    min-height: 46px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--bn-primary);
    box-shadow: 0 0 0 0.2rem rgba(201, 133, 93, 0.18);
}

.bn-footer {
    padding: 2rem 0;
    border-top: 1px solid var(--bn-border);
    color: var(--bn-muted);
}

.bn-footer a {
    color: var(--bn-muted);
    text-decoration: none;
}

.bn-footer a:hover,
.bn-footer a:focus {
    color: var(--bn-primary-dark);
}

.ek-home-hero {
    position: relative;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0d0d0d;
    isolation: isolate;
}

.ek-home-hero-video,
.ek-home-hero-fallback,
.ek-home-hero-overlay {
    position: absolute;
    inset: 0;
}

.ek-home-hero-video,
.ek-home-hero-fallback {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ek-home-hero-fallback {
    z-index: -3;
}

.ek-home-hero-video {
    z-index: -2;
}

.ek-home-hero-overlay {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(8, 8, 8, 0.82) 0%, rgba(8, 8, 8, 0.54) 46%, rgba(8, 8, 8, 0.18) 100%),
        linear-gradient(180deg, rgba(8, 8, 8, 0.12) 0%, rgba(8, 8, 8, 0.68) 100%);
}

.ek-home-hero-copy {
    width: min(680px, 100%);
    padding: clamp(5rem, 9vw, 8rem) 0;
}

.ek-home-hero-copy h1 {
    max-width: 720px;
    margin: 0 0 1rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 8vw, 7.6rem);
    line-height: 0.92;
    letter-spacing: 0;
    text-transform: none;
}

.ek-home-hero-copy p {
    max-width: 520px;
    margin: 0 0 2rem;
    color: #ded4ca;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.ek-home-lines {
    background: #0d0d0d;
}

.ek-home-line {
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    border-top: 1px solid rgba(244, 239, 232, 0.12);
}

.ek-home-line-light {
    background: linear-gradient(180deg, #0d0d0d 0%, #141210 100%);
}

.ek-home-line-technical {
    background: linear-gradient(180deg, #11100f 0%, #0b0b0b 100%);
}

.ek-home-line-noble {
    padding-top: clamp(5.5rem, 9vw, 8rem);
    background: linear-gradient(180deg, #0c0b0a 0%, #15110f 100%);
}

.ek-home-line-head {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.75fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.ek-home-line-head h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.1rem, 8vw, 7rem);
    line-height: 0.9;
    letter-spacing: 0;
}

.ek-home-line-head p:not(.bn-kicker) {
    max-width: 520px;
    margin: 0 0 1rem;
    color: var(--bn-muted);
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    white-space: pre-line;
}

.ek-home-line-mote {
    color: #c48a62 !important;
    font-weight: 700;
}

.ek-home-line-head a,
.ek-home-model-copy a {
    color: #c48a62;
    font-weight: 700;
    text-decoration: none;
}

.ek-home-line-head a:hover,
.ek-home-line-head a:focus,
.ek-home-model-copy a:hover,
.ek-home-model-copy a:focus {
    color: #d8a384;
    text-decoration: underline;
    text-underline-offset: 0.28em;
}

.ek-home-model-carousel {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 4rem);
    outline: none;
    --ek-home-model-gap: clamp(1rem, 2vw, 1.65rem);
    --ek-home-model-width: calc((100% - (var(--ek-home-model-gap) * 2.1)) / 3.1);
}

.ek-home-model-carousel:focus-visible {
    outline: 1px solid rgba(196, 138, 98, 0.72);
    outline-offset: 0.45rem;
}

.ek-home-model-viewport {
    overflow: hidden;
    touch-action: pan-y;
    cursor: grab;
}

.ek-home-model-viewport.is-dragging {
    cursor: grabbing;
}

.ek-home-model-track {
    display: flex;
    gap: var(--ek-home-model-gap);
    will-change: transform;
}

.ek-home-model-track.is-animated {
    transition: transform 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ek-home-model-carousel.is-static {
    padding-right: max(1rem, calc((100vw - 1140px) / 2));
    padding-left: max(1rem, calc((100vw - 1140px) / 2));
}

.ek-home-model-carousel.is-static .ek-home-model-track {
    justify-content: center;
    transform: none !important;
}

.ek-home-model-carousel.is-static .ek-home-model-nav {
    display: none;
}

.ek-home-model {
    flex: 0 0 var(--ek-home-model-width);
    min-width: 0;
    opacity: 0.82;
    transform: scale(0.985);
    transition: opacity 360ms ease, transform 360ms ease;
}

.ek-home-model.is-active {
    opacity: 1;
    transform: scale(1);
}

.ek-home-model-image {
    display: block;
    overflow: hidden;
    background: #070706;
    border: 1px solid rgba(196, 138, 98, 0.24);
    border-radius: 8px;
}

.ek-home-model-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: filter 520ms ease, transform 680ms ease;
}

.ek-home-model-image:hover img,
.ek-home-model-image:focus img {
    filter: brightness(1.06);
    transform: scale(1.018);
}

.ek-home-model-copy {
    display: grid;
    gap: 0.48rem;
    padding: 1.05rem 0 0;
}

.ek-home-model-copy span {
    color: #c48a62;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ek-home-model-copy span.ek-free-shipping-tag {
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
}

.ek-home-model-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.1vw, 2.15rem);
    line-height: 1;
}

.ek-home-model-copy h3 a {
    color: var(--bn-text);
    font-weight: 500;
}

.ek-home-model-copy p {
    margin: 0;
    color: var(--bn-muted);
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ek-home-model-copy div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.25rem;
}

.ek-home-model-copy strong {
    color: var(--bn-text);
    font-size: 1rem;
}

.ek-home-model-nav {
    position: absolute;
    top: 38%;
    z-index: 2;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid rgba(196, 138, 98, 0.42);
    border-radius: 999px;
    background: rgba(7, 7, 6, 0.72);
    color: #e7d9cd;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    line-height: 1;
    opacity: 0.72;
    transform: translateY(-50%);
    transition: background 240ms ease, border-color 240ms ease, color 240ms ease, opacity 240ms ease;
}

.ek-home-model-nav:hover,
.ek-home-model-nav:focus-visible {
    border-color: rgba(196, 138, 98, 0.8);
    background: rgba(18, 15, 13, 0.92);
    color: #d8a384;
    opacity: 1;
}

.ek-home-model-nav-prev {
    left: 0.75rem;
}

.ek-home-model-nav-next {
    right: 0.75rem;
}

.ek-home-model-noscript {
    padding: 0 max(1rem, calc((100vw - 1140px) / 2));
}

.ek-home-empty {
    margin: 0;
    color: var(--bn-muted);
}

.ek-home-proof,
.ek-home-limited-panel {
    border: 1px solid rgba(196, 138, 98, 0.25);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(25, 23, 21, 0.86), rgba(12, 11, 10, 0.96));
}

.ek-home-proof {
    max-width: 900px;
    padding: clamp(1.4rem, 4vw, 3.25rem);
}

.ek-home-proof h2,
.ek-home-limited-panel h2 {
    margin: 0 0 1rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.6vw, 4.5rem);
    line-height: 1;
}

.ek-home-proof p:not(.bn-kicker),
.ek-home-limited-panel p {
    max-width: 720px;
    color: var(--bn-muted);
}

.ek-home-limited {
    padding-top: 0;
}

.ek-home-limited-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(1.4rem, 4vw, 3rem);
}

.ek-home-limited-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.bn-footer-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(180px, 0.7fr);
    gap: 1.5rem;
    align-items: start;
}

.bn-footer-grid > div,
.bn-footer-grid nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.bn-footer-grid > div {
    flex-direction: column;
}

.bn-footer-grid strong {
    color: var(--bn-text);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    letter-spacing: 0.22em;
}

.ek-admin-hero-video {
    overflow: hidden;
    border: 1px solid rgba(196, 138, 98, 0.24);
    border-radius: 8px;
    background: #050505;
}

.ek-admin-hero-video video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
    .ek-home-hero-video {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .bn-brand {
        font-size: 1rem;
        letter-spacing: 0.22em;
    }

    .bn-brand-logo-frame {
        width: 50px;
        height: 50px;
    }

    .bn-brand-mark {
        width: 44px;
        height: 44px;
    }

    .bn-navbar-menu {
        margin: 0.25rem 0 0.6rem;
    }

    .bn-user-nav {
        margin-left: 0;
        margin-top: 0.35rem;
    }

    .bn-user-toggle {
        justify-content: flex-start;
        width: 100%;
    }

    .bn-user-name {
        max-width: calc(100vw - 150px);
    }

    .ek-hero {
        min-height: 78vh;
        background-position: 62% center;
    }

    .ek-hero-content {
        width: 100%;
        max-width: calc(100vw - 1.5rem);
    }

    .ek-logo-lockup {
        gap: 0.55rem;
        font-size: 0.95rem;
        letter-spacing: 0.28em;
    }

    .ek-hero h1 {
        max-width: 280px;
        font-size: clamp(2rem, 8.8vw, 2.85rem);
        letter-spacing: 0.018em;
        line-height: 1;
    }

    .ek-hero-word {
        display: block;
    }

    .ek-hero-kicker {
        font-size: 0.66rem;
        letter-spacing: 0.12em;
    }

    .ek-hero .bn-lead {
        max-width: 340px;
        font-size: 1.02rem;
    }

    .ek-category-heading {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1.4rem;
    }

    .ek-line-grid,
    .ek-material-list {
        grid-template-columns: 1fr;
    }

    .ek-line-card {
        min-height: 580px;
    }

    .ek-mid-facts {
        grid-template-columns: 1fr;
    }

    .ek-mid-admin-layout {
        grid-template-columns: 1fr;
    }

    .ek-mid-identity {
        font-size: clamp(1.45rem, 8vw, 2.2rem) !important;
    }

    .ek-mid-canvas {
        max-width: 280px;
    }

    .ek-mid-compare-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ek-availability-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .bn-logo-grande {
        min-height: 300px;
    }

    .bn-admin-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .bn-admin-table-tools {
        grid-template-columns: 1fr;
    }

    .ek-unit-search {
        grid-template-columns: 1fr;
    }

    .ek-unit-search-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ek-client-watch-head,
    .ek-client-watch-assets {
        grid-template-columns: 1fr;
    }

    .ek-client-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ek-production-trail-head {
        flex-direction: column;
    }

    .ek-client-panel-head {
        flex-direction: column;
    }

    .ek-client-watch-head {
        flex-direction: column;
    }

    .bn-wizard {
        grid-template-columns: 1fr;
    }

    .bn-calendar {
        grid-auto-columns: minmax(170px, 74vw);
    }

    .bn-client-selection {
        grid-template-columns: 1fr;
    }

    .bn-selection-summary {
        position: static;
    }

    .bn-payment-callout {
        align-items: stretch;
        flex-direction: column;
    }

    .bn-book-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 320px repeat(3, 170px);
        gap: 0.6rem;
    }

    .bn-book-photo-main {
        grid-column: span 2;
        grid-row: auto;
    }

    .bn-book-photo:nth-child(6) {
        grid-column: span 2;
    }
}

@media (max-width: 575.98px) {
    .ek-mid-compare-grid {
        grid-template-columns: 1fr;
    }

    .bn-book-copy {
        padding: 1rem 0 0.75rem;
    }

    .bn-book-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .bn-book-photo,
    .bn-book-photo-main,
    .bn-book-photo:nth-child(6) {
        grid-column: auto;
        grid-row: auto;
        aspect-ratio: 4 / 5;
    }

    .bn-book-photo-main {
        aspect-ratio: 3 / 4;
    }

    .bn-lightbox {
        padding: 0.75rem;
    }

    .bn-lightbox img {
        max-height: 88vh;
    }

    .ek-home-model-carousel {
        --ek-home-model-width: calc((100% - (var(--ek-home-model-gap) * 1.15)) / 2.15);
    }
}

@media (max-width: 991.98px) {
    .ek-home-line-head,
    .bn-footer-grid {
        grid-template-columns: 1fr;
    }

    .ek-home-limited-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .ek-home-limited-actions {
        justify-content: flex-start;
    }

    .ek-home-model-carousel {
        --ek-home-model-width: calc((100% - (var(--ek-home-model-gap) * 1.25)) / 2.25);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .ek-home-model-carousel {
        --ek-home-model-width: calc((100% - (var(--ek-home-model-gap) * 1.65)) / 2.65);
    }
}

@media (max-width: 575.98px) {
    .ek-home-hero {
        min-height: calc(88vh - 70px);
    }

    .ek-home-hero-copy {
        padding: 4rem 0;
    }

    .ek-home-hero-copy h1 {
        max-width: 340px;
        font-size: clamp(3rem, 16vw, 4.6rem);
    }

    .ek-home-line {
        padding: 3.6rem 0;
    }

    .ek-home-line-head {
        margin-bottom: 2.25rem;
    }

    .ek-home-model-carousel {
        padding: 0 1rem;
        --ek-home-model-gap: 1rem;
        --ek-home-model-width: 84%;
    }

    .ek-home-model-nav {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ek-home-model-track,
    .ek-home-model-image img,
    .ek-home-model {
        transition-duration: 1ms !important;
    }
}
.ek-editorial-hero {
    padding: clamp(5rem, 10vw, 9rem) 0 4rem;
    border-bottom: 1px solid rgba(197, 112, 83, .28);
}

.ek-editorial-hero-grid,
.ek-editorial-section {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

.ek-editorial-hero h1 { max-width: 12ch; }
.ek-editorial-media { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid rgba(197, 112, 83, .35); }
.ek-editorial-media img { width: 100%; height: 100%; object-fit: cover; }
.ek-editorial-hero .ek-editorial-media { background: #0d0c0b; }
.ek-editorial-hero .ek-editorial-media img { object-fit: contain; }
.ek-editorial-placeholder { min-height: 260px; aspect-ratio: 16 / 10; border: 1px dashed rgba(197, 112, 83, .55); background: #171513; display: grid; place-content: center; gap: .45rem; padding: 2rem; text-align: center; color: #ddd3ca; }
.ek-editorial-placeholder span, .ek-editorial-placeholder small { color: #c57053; text-transform: uppercase; font-size: .72rem; letter-spacing: .12em; }
.ek-editorial-intro { max-width: 820px; margin: 0 auto clamp(4rem, 8vw, 8rem); font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.65; }
.ek-editorial-section { margin: 0 0 clamp(4rem, 8vw, 8rem); }
.ek-editorial-section.is-reversed > :first-child { order: 2; }
.ek-editorial-section h2, .ek-editorial-facts h2 { margin: .8rem 0 1.2rem; }
.ek-editorial-section p { color: #d5cbc3; line-height: 1.8; }
.ek-editorial-section-link { display: inline-block; margin-top: .8rem; color: #d48a70; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.ek-editorial-facts { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: 3rem; padding: 3rem 0; border-top: 1px solid rgba(197, 112, 83, .3); border-bottom: 1px solid rgba(197, 112, 83, .3); }
.ek-editorial-facts dl { margin: 0; }
.ek-editorial-facts dl div { display: grid; grid-template-columns: minmax(150px, .6fr) minmax(0, 1fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.ek-editorial-facts dt { color: #c57053; }
.ek-editorial-facts dd { margin: 0; }
.ek-editorial-sources { margin-top: 2.5rem; color: #a99d94; font-size: .9rem; }
.ek-editorial-sources h2 { margin-bottom: 1rem; color: #f4efe8; font-size: 1.25rem; }
.ek-editorial-sources ol { margin: 0; padding-left: 1.25rem; }
.ek-editorial-sources li { padding: .3rem 0 .3rem .35rem; }
.ek-editorial-sources a, .ek-spec-value-link { color: #d48a70; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.ek-editorial-admin { margin-bottom: 2rem; }
.ek-editorial-admin-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; margin-bottom: 1.5rem; }
.ek-editorial-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.ek-editorial-admin-grid form { display: grid; gap: .75rem; align-content: start; }
.ek-editorial-admin-grid h3 { font-size: 1rem; }
.ek-editorial-admin-grid img, .ek-editorial-admin-grid .ek-editorial-placeholder { width: 100%; aspect-ratio: 16 / 10; min-height: 0; object-fit: cover; }
.ek-journal-header { padding: clamp(5rem, 10vw, 9rem) 0 clamp(3rem, 6vw, 5rem); border-bottom: 1px solid rgba(197, 112, 83, .25); }
.ek-journal-header h1 { max-width: 12ch; margin: .8rem 0 1.5rem; }
.ek-journal-header .bn-lead { max-width: 760px; }
.ek-journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 6vw, 6rem) 2rem; }
.ek-journal-card { min-width: 0; }
.ek-journal-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid rgba(197, 112, 83, .35); background: #171513; color: #d5cbc3; text-decoration: none; }
.ek-journal-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ek-journal-card-media:hover img { transform: scale(1.025); }
.ek-journal-card-media > span { width: 100%; height: 100%; display: grid; place-content: center; gap: .45rem; padding: 2rem; text-align: center; }
.ek-journal-card-media small { color: #c57053; text-transform: uppercase; font-size: .72rem; }
.ek-journal-card-copy { padding-top: 1.5rem; }
.ek-journal-card-copy h2 { margin: .55rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.ek-journal-card-copy h2 a { color: inherit; text-decoration: none; }
.ek-journal-card-copy > p:not(.bn-kicker) { max-width: 58ch; color: #bdb2aa; line-height: 1.7; }
.ek-journal-read { display: inline-block; margin-top: .5rem; color: #d48a70; font-weight: 700; text-underline-offset: .22em; }
.ek-about-hero { padding: clamp(5rem, 10vw, 9rem) 0; border-bottom: 1px solid rgba(197, 112, 83, .25); }
.ek-about-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.ek-about-hero h1 { max-width: 11ch; margin: .8rem 0 1.5rem; }
.ek-about-hero .bn-lead { max-width: 670px; }
.ek-about-media, .ek-about-placeholder { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid rgba(197, 112, 83, .35); }
.ek-about-media img { width: 100%; height: 100%; object-fit: cover; }
.ek-about-body { padding-top: clamp(5rem, 10vw, 9rem); }
.ek-about-section { max-width: 900px; margin: 0 auto clamp(5rem, 10vw, 10rem); }
.ek-about-section-narrow { max-width: 760px; margin-left: 0; }
.ek-about-section h2, .ek-about-institution h2 { margin: .8rem 0 1.2rem; }
.ek-about-section p { color: #d5cbc3; font-size: 1.08rem; line-height: 1.85; white-space: pre-line; }
.ek-about-section.ek-about-grid { max-width: none; }
.ek-about-section.ek-about-grid > div { order: -1; }
.ek-about-brand { max-width: 980px; padding: clamp(2rem, 5vw, 4rem) 0; border-top: 1px solid rgba(197, 112, 83, .25); border-bottom: 1px solid rgba(197, 112, 83, .25); }
.ek-about-institution { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 3rem; margin-bottom: clamp(5rem, 10vw, 9rem); }
.ek-about-institution dl { margin: 0; }
.ek-about-institution dl div { display: grid; grid-template-columns: minmax(150px, .6fr) minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.ek-about-institution dt { color: #c57053; }
.ek-about-institution dd { margin: 0; }
.ek-about-closing { padding: clamp(5rem, 12vw, 10rem) 0; border-top: 1px solid rgba(197, 112, 83, .3); text-align: center; }
.ek-about-closing p { margin: 0; color: #f4efe8; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 7vw, 6rem); }
.ek-about-admin-form { display: grid; gap: 1.25rem; }
.ek-about-admin-form h2 { margin-top: 1.25rem; }
.ek-about-admin-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ek-contact-page { min-height: calc(100vh - 180px); padding: clamp(5rem, 11vw, 10rem) 0; }
.ek-contact-heading { max-width: 780px; margin-bottom: clamp(3rem, 7vw, 6rem); }
.ek-contact-heading h1 { margin: .8rem 0 1.5rem; }
.ek-contact-list { border-top: 1px solid rgba(197, 112, 83, .3); }
.ek-contact-item { display: grid; grid-template-columns: 56px minmax(0, 1fr) 40px; gap: 1.25rem; align-items: center; padding: clamp(1.5rem, 3vw, 2.25rem) 0; border-bottom: 1px solid rgba(255,255,255,.12); color: inherit; text-decoration: none; }
.ek-contact-item:hover, .ek-contact-item:focus { color: #d48a70; }
.ek-contact-symbol { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(197, 112, 83, .55); color: #d48a70; font-size: 1.25rem; }
.ek-contact-symbol svg { width: 25px; height: 25px; fill: currentColor; }
.ek-contact-item small { display: block; color: #a99d94; text-transform: uppercase; font-size: .72rem; letter-spacing: .12em; }
.ek-contact-item strong { display: block; margin-top: .2rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 3vw, 2.25rem); font-weight: 400; overflow-wrap: anywhere; }
.ek-contact-arrow { font-size: 1.5rem; text-align: right; }
.ek-contact-admin { display: grid; gap: 1.25rem; max-width: 820px; }

@media (max-width: 767.98px) {
    .ek-editorial-hero-grid, .ek-editorial-section, .ek-editorial-facts, .ek-editorial-admin-grid, .ek-journal-grid, .ek-about-grid, .ek-about-institution, .ek-about-admin-fields { grid-template-columns: 1fr; }
    .ek-about-section.ek-about-grid > div { order: initial; }
    .ek-about-institution dl div { grid-template-columns: 1fr; gap: .25rem; }
    .ek-editorial-section.is-reversed > :first-child { order: initial; }
    .ek-editorial-facts dl div { grid-template-columns: 1fr; gap: .25rem; }
    .ek-editorial-placeholder { min-height: 210px; }
}
/* Pesquisa de validacao de conceito */
.ek-home-survey-cta{padding:2rem 0;background:#171311;border-block:1px solid rgba(190,112,82,.35)}.ek-home-survey-cta .container{display:flex;align-items:center;justify-content:space-between;gap:2rem}.ek-home-survey-cta h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:.25rem 0}.ek-home-survey-cta p{margin:0;color:#d6cbc5}.ek-survey{padding:clamp(3rem,8vw,7rem) 0;min-height:70vh}.ek-survey-shell{max-width:920px}.ek-survey h1{font-size:clamp(2.7rem,7vw,5.5rem);margin:.5rem 0 1rem}.ek-survey-anonymous{display:inline-block;color:#d78b6e;border-left:2px solid #be7052;padding-left:.75rem;font-weight:700}.ek-survey-intro,.ek-survey-message{max-width:760px;margin-top:2rem;font-size:1.1rem;line-height:1.8}.ek-survey-progress{position:relative;background:#0d0c0b;padding:1rem 0;margin:2rem 0 1rem}.ek-survey-progress>div{height:3px;background:#332824;margin:.5rem 0}.ek-survey-progress i{display:block;height:100%;background:#be7052;transition:width .2s}.ek-survey-progress small{color:#a99d97}.ek-survey-step{border:0;padding:1rem 0}.ek-survey-step legend{font-family:Georgia,serif;font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.25;margin-bottom:1.5rem}.ek-survey-step legend span{display:block;font:700 .75rem sans-serif;color:#d78b6e;margin-bottom:.65rem}.ek-survey-option,.ek-survey-matrix label{display:flex;gap:.8rem;padding:1rem;border-bottom:1px solid #392f2b;cursor:pointer}.ek-survey-option:hover,.ek-survey-matrix label:hover{background:#191513}.ek-survey-option input,.ek-survey-matrix input{accent-color:#be7052;margin-top:.3rem}.ek-survey-matrix{margin:1.5rem 0 2rem}.ek-survey-matrix h3{color:#d78b6e;font-size:1.1rem}.ek-survey-help{color:#aaa09b}.ek-survey-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.ek-survey-step-error{color:#ff9e9e;margin-top:1rem}.ek-survey-review>p{border-left:2px solid #be7052;padding-left:1rem}.ek-survey-review [data-review-content]>div{padding:1rem 0;border-bottom:1px solid #392f2b}.ek-admin-question{padding:1.5rem 0;border-top:1px solid #49342c}.ek-result-list>div{position:relative;display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.8rem 0;border-bottom:1px solid #352d29;overflow:hidden}.ek-result-list i{position:absolute;bottom:0;left:0;height:2px;background:#be7052}.ek-open-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.ek-open-answer{padding:1.25rem;border:1px solid #49342c}.ek-open-answer.is-highlighted{border-color:#be7052;background:#1b1512}
@media(max-width:767px){.ek-home-survey-cta .container{align-items:flex-start;flex-direction:column}.ek-result-list>div{grid-template-columns:1fr}.ek-survey-actions .btn{flex:1}}
.ek-concept-validation-notice{display:flex;align-items:flex-start;gap:.65rem;width:100%;max-width:720px;margin-top:1rem;padding:.8rem 1rem;border-left:2px solid #be7052;background:rgba(190,112,82,.08);color:#cfc5c0;font-size:.85rem;line-height:1.55}.ek-concept-validation-notice i{color:#d78b6e;margin-top:.2rem}.ek-home-limited-actions .ek-concept-validation-notice{max-width:520px}
.ek-queue-model-head{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.ek-queue-model-head img{width:88px;height:104px;flex:0 0 88px;object-fit:cover;object-position:center;border:1px solid rgba(190,112,82,.35);border-radius:4px}.ek-queue-model-head .bn-kicker{margin-bottom:.5rem}.ek-queue-model-head h2{margin:0}@media(max-width:575px){.ek-queue-model-head{align-items:flex-start}.ek-queue-model-head img{width:72px;height:88px;flex-basis:72px}}
