:root {
    --elma-ink: #101727;
    --elma-ink-soft: #263248;
    --elma-gold: #d4af37;
    --elma-gold-dark: #9b7710;
    --elma-surface: #ffffff;
    --elma-canvas: #f5f7fa;
    --elma-line: #e1e6ee;
    --elma-muted: #647084;
    --elma-radius-sm: 0.7rem;
    --elma-radius: 1rem;
    --elma-radius-lg: 1.5rem;
    --elma-shadow-sm: 0 8px 26px rgba(16, 23, 39, 0.06);
    --elma-shadow: 0 20px 55px rgba(16, 23, 39, 0.1);
}

body {
    background: var(--elma-canvas);
    color: var(--elma-ink-soft);
    -webkit-font-smoothing: antialiased;
}

/* Consistent feedback messages across the public and admin applications. */
.app-flash-stack {
    position: relative;
    z-index: 1040;
    margin-top: 1rem;
}

.app-flash {
    display: flex;
    gap: .8rem;
    align-items: center;
    min-height: 3.75rem;
    margin-bottom: .75rem;
    padding: .8rem 3.25rem .8rem .85rem;
    border: 1px solid transparent;
    border-left-width: 5px;
    border-radius: .85rem;
    box-shadow: 0 12px 30px rgba(16, 23, 39, .1);
    font-size: .88rem;
    font-weight: 750;
}

.app-flash__icon {
    display: grid;
    flex: 0 0 2.1rem;
    width: 2.1rem;
    height: 2.1rem;
    place-items: center;
    border-radius: 50%;
    color: #fff;
}

.app-flash__message { line-height: 1.45; }
.app-flash .btn-close { top: 50%; right: .85rem; padding: .65rem; transform: translateY(-50%); }

.app-flash--success {
    color: #0b512c;
    border-color: #198754;
    background: #e8f7ee;
}
.app-flash--success .app-flash__icon { background: #198754; }

.app-flash--danger {
    color: #842029;
    border-color: #dc3545;
    background: #fcebec;
}
.app-flash--danger .app-flash__icon { background: #dc3545; }

.app-flash--warning {
    color: #664d03;
    border-color: #d99b00;
    background: #fff5d6;
}
.app-flash--warning .app-flash__icon { color: #382900; background: #ffc107; }

.app-flash--info {
    color: #055160;
    border-color: #0a91a8;
    background: #e5f6f9;
}
.app-flash--info .app-flash__icon { background: #0a91a8; }

@media (max-width: 575.98px) {
    .app-flash { align-items: flex-start; padding-right: 2.8rem; }
    .app-flash.position-fixed { right: 1rem !important; left: 1rem; max-width: none !important; }
}

.public-app main {
    background: var(--elma-surface);
}

/* Shared inner-page rhythm */
.public-app main > .container,
.public-app main > section.container {
    padding-top: clamp(2.5rem, 5vw, 4.5rem) !important;
    padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

.public-app main > .container > .row:first-child,
.public-app main > section.container > .row:first-child {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.public-app main > .container > .row:first-child h1,
.public-app main > section.container > .row:first-child h1 {
    margin-bottom: 0.7rem;
    color: var(--elma-ink);
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 750;
    line-height: 1.04;
    letter-spacing: -0.045em;
}

.public-app main > .container > .row:first-child .lead,
.public-app main > section.container > .row:first-child .lead {
    max-width: 64ch;
    color: var(--elma-muted);
    font-size: clamp(1rem, 1.5vw, 1.12rem);
}

/* Breadcrumbs */
.breadcrumb {
    gap: 0.35rem;
    margin-bottom: 1.5rem;
    padding: 0;
    background: transparent;
    font-size: 0.78rem;
}

.breadcrumb-item a {
    color: #68758a;
}

.breadcrumb-item.active {
    color: var(--elma-gold-dark);
    font-weight: 650;
}

/* Cards */
.public-app main .card,
.admin-app main .card {
    border: 1px solid var(--elma-line);
    border-radius: var(--elma-radius);
    background: var(--elma-surface);
    box-shadow: var(--elma-shadow-sm);
}

.public-app main .card:hover {
    border-color: #cfd6e1;
    box-shadow: var(--elma-shadow);
}

.public-app main .card-header,
.admin-app main .card-header {
    padding: 1rem 1.25rem;
    color: var(--elma-ink);
    border-bottom: 1px solid var(--elma-line);
    background: #fafbfc;
    font-size: 0.88rem;
    font-weight: 700;
}

.public-app main .card-body,
.admin-app main .card-body {
    padding: clamp(1.15rem, 2.5vw, 1.65rem);
}

.public-app main .card-title {
    color: var(--elma-ink);
}

.public-app main .card-text,
.public-app main .text-muted {
    color: #5d697d !important;
}

/* Forms */
.form-control,
.form-select {
    min-height: 46px;
    padding: 0.72rem 0.9rem;
    color: var(--elma-ink);
    border: 1px solid #cfd6e1;
    border-radius: var(--elma-radius-sm);
    background-color: #fff;
    box-shadow: none;
}

textarea.form-control {
    min-height: 120px;
}

.form-control:focus,
.form-select:focus {
    border-color: #b7901d;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);
}

.form-label {
    color: #2d394d;
    font-size: 0.78rem;
    font-weight: 700;
}

.form-text {
    color: #748095;
    font-size: 0.72rem;
}

/* Buttons */
.public-app main .btn,
.admin-app main .btn {
    min-height: 42px;
    padding: 0.68rem 1rem;
    border-radius: var(--elma-radius-sm);
    font-size: 0.8rem;
    font-weight: 700;
}

.public-app main .btn-primary,
.admin-app main .btn-primary {
    color: #fff;
    border: 1px solid var(--elma-ink);
    background: var(--elma-ink);
    box-shadow: none;
}

.public-app main .btn-primary:hover,
.admin-app main .btn-primary:hover {
    color: #121827;
    border-color: var(--elma-gold);
    background: var(--elma-gold);
}

.btn-outline-primary {
    color: var(--elma-ink);
    border-color: #bac3d0;
}

.btn-outline-primary:hover {
    color: white;
    border-color: var(--elma-ink);
    background: var(--elma-ink);
}

/* Empty states and pagination */
.alert {
    color: var(--elma-ink-soft);
    border: 1px solid var(--elma-line);
    border-radius: var(--elma-radius);
    background: #f8fafc;
}

.pagination {
    gap: 0.35rem;
}

.pagination .page-link {
    display: grid;
    min-width: 2.35rem;
    height: 2.35rem;
    padding: 0.4rem;
    place-items: center;
    color: var(--elma-ink);
    border: 1px solid var(--elma-line);
    border-radius: 0.65rem !important;
}

.pagination .page-item.active .page-link {
    border-color: var(--elma-ink);
    background: var(--elma-ink);
}

/* Tables */
.table-responsive {
    overflow: auto;
    border: 1px solid var(--elma-line);
    border-radius: var(--elma-radius);
}

.table {
    min-width: 720px;
    margin-bottom: 0;
    color: #344055;
}

.table > :not(caption) > * > * {
    padding: 0.9rem 1rem;
    border-bottom-color: #e8ebf0;
}

.table thead th,
.table th {
    color: #536075;
    background: #f7f8fa;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #fafbfc;
}

/* Public content media */
.public-app .book-cover {
    background: #edf0f4;
    object-fit: cover;
}

.public-app .author-card,
.public-app .collection-card,
.public-app .blog-post-card,
.public-app .testimonial-card {
    overflow: hidden;
}

.public-app .author-card:hover,
.public-app .collection-card:hover,
.public-app .blog-post-card:hover,
.public-app .book-card:hover {
    transform: translateY(-4px);
}

/* Collections */
.page-intro {
    position: relative;
    padding: clamp(2rem, 5vw, 4rem);
    overflow: hidden;
    border-radius: var(--elma-radius-lg);
    background: linear-gradient(135deg, #101727, #1b2e52);
}

.page-intro::after {
    content: '';
    position: absolute;
    top: -8rem;
    right: -5rem;
    width: 22rem;
    height: 22rem;
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 50%;
    box-shadow: 0 0 0 4rem rgba(212, 175, 55, 0.025);
}

.public-app main > .container > .page-intro h1,
.page-intro h1 {
    position: relative;
    z-index: 1;
    color: white !important;
}

.page-intro .lead {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76) !important;
}

.collection-page-section {
    padding-top: clamp(2.5rem, 5vw, 4rem);
}

.collection-page-section h2,
.collection-books-section h2,
.related-content-section h3 {
    color: var(--elma-ink);
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    letter-spacing: -0.03em;
}

.collection-page-image {
    display: grid;
    width: 100%;
    height: 180px;
    place-items: center;
    object-fit: cover;
}

.collection-page-image-lg {
    height: 240px;
}

.collection-page-placeholder,
.collection-detail-placeholder {
    color: var(--elma-gold);
    background: linear-gradient(145deg, #253657, #131d33);
}

.collections-page .collection-card .card-title {
    font-size: 1.1rem;
}

.collection-detail-hero {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid var(--elma-line);
    border-radius: var(--elma-radius-lg);
    background: #f8f9fb;
}

.collection-detail-image {
    display: grid;
    width: 100%;
    min-height: 330px;
    max-height: 430px;
    place-items: center;
    border-radius: 1rem;
    object-fit: cover;
    box-shadow: var(--elma-shadow);
}

.collection-detail-hero h1 {
    color: var(--elma-ink);
    font-size: clamp(2.2rem, 5vw, 4rem);
    letter-spacing: -0.045em;
}

.collection-detail-hero .lead {
    color: var(--elma-muted);
    line-height: 1.75;
}

.collection-detail-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.collection-detail-stats > div {
    width: auto;
}

.collection-detail-stats .stat-item {
    display: block;
    padding: 1rem;
    border: 1px solid var(--elma-line);
    border-radius: 0.8rem;
    background: white;
}

.collection-detail-stats h3 {
    margin: 0 0 0.25rem;
    color: var(--elma-ink) !important;
    font-size: 1.45rem;
}

.collection-detail-stats p {
    margin: 0;
    color: var(--elma-muted) !important;
    font-size: 0.68rem;
}

.collection-books-section {
    padding-top: clamp(2.5rem, 5vw, 4rem);
}

.collection-detail-page .book-card .book-cover {
    height: 245px;
}

/* Search, categories, and reusable empty states */
.search-page-form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    max-width: 760px;
    margin: 2rem auto 3rem;
    padding: 0.55rem 0.55rem 0.55rem 1rem;
    border: 1px solid var(--elma-line);
    border-radius: 1rem;
    background: white;
    box-shadow: var(--elma-shadow-sm);
}

.search-page-form > i {
    color: #8792a4;
}

.search-page-form input {
    min-width: 0;
    padding: 0.65rem 0;
    color: var(--elma-ink);
    border: 0;
    outline: 0;
    background: transparent;
}

.search-page-form button {
    min-height: 42px;
    padding: 0.65rem 1rem;
    color: white;
    border: 0;
    border-radius: 0.7rem;
    background: var(--elma-ink);
    font-size: 0.78rem;
    font-weight: 700;
}

.search-groups,
.search-groups section {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.search-groups h2 {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
    color: var(--elma-ink);
    font-size: 1.2rem;
}

.search-groups h2 span {
    display: grid;
    min-width: 1.7rem;
    height: 1.7rem;
    padding: 0 0.35rem;
    place-items: center;
    color: var(--elma-gold-dark);
    border-radius: 2rem;
    background: rgba(212, 175, 55, 0.14);
    font-size: 0.65rem;
}

.search-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.search-result-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem;
    color: var(--elma-ink);
    border: 1px solid var(--elma-line);
    border-radius: 0.9rem;
    background: white;
}

.search-result-card:hover {
    color: var(--elma-ink);
    border-color: #c6ceda;
    transform: translateY(-2px);
    box-shadow: var(--elma-shadow-sm);
}

.search-result-card > i:first-child {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--elma-gold-dark);
    border-radius: 0.7rem;
    background: rgba(212, 175, 55, 0.12);
}

.search-result-card > i:last-child {
    color: #9aa3b1;
    font-size: 0.7rem;
}

.search-result-card strong,
.search-result-card small {
    display: block;
}

.search-result-card strong {
    overflow: hidden;
    font-size: 0.88rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-result-card small {
    margin-top: 0.25rem;
    overflow: hidden;
    color: var(--elma-muted);
    font-size: 0.72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.modern-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
}

.modern-category-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    padding: 1.4rem;
    color: var(--elma-ink);
    border: 1px solid var(--elma-line);
    border-radius: 1rem;
    background: white;
}

.modern-category-card:hover {
    color: var(--elma-ink);
    transform: translateY(-3px);
    box-shadow: var(--elma-shadow-sm);
}

.modern-category-card > span {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    color: var(--elma-gold-dark);
    border-radius: 0.8rem;
    background: rgba(212, 175, 55, 0.13);
}

.modern-category-card h2 {
    margin: 0 0 0.3rem;
    font-size: 1rem;
}

.modern-category-card p {
    margin: 0;
    color: var(--elma-muted);
    font-size: 0.76rem;
}

.modern-category-card > i {
    color: #9ba5b4;
    font-size: 0.72rem;
}

.modern-empty-state {
    grid-column: 1 / -1;
    padding: 4rem 1.5rem;
    color: var(--elma-muted);
    border: 1px dashed #ccd3de;
    border-radius: 1rem;
    text-align: center;
    background: #fafbfc;
}

.modern-empty-state > i {
    margin-bottom: 1rem;
    color: var(--elma-gold);
    font-size: 2rem;
}

.modern-empty-state h2 {
    color: var(--elma-ink);
    font-size: 1.25rem;
}

/* CEO message */
.ceo-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2rem, 4vw, 3.5rem) 0;
    background:
        radial-gradient(circle at 15% 15%, rgba(53, 91, 158, 0.24), transparent 28rem),
        linear-gradient(135deg, #0c1324, #17294b);
}

.ceo-hero::after {
    content: '';
    position: absolute;
    right: -11rem;
    bottom: -18rem;
    width: 42rem;
    height: 42rem;
    border: 1px solid rgba(212, 175, 55, 0.14);
    border-radius: 50%;
    box-shadow: 0 0 0 6rem rgba(212, 175, 55, 0.022), 0 0 0 12rem rgba(212, 175, 55, 0.014);
}

.ceo-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
    align-items: center;
    gap: clamp(2.5rem, 7vw, 7rem);
    min-height: 570px;
}

.ceo-hero-copy h1 {
    max-width: 11ch;
    margin: 0 0 1.5rem;
    color: white;
    font-size: clamp(3rem, 6vw, 5.8rem);
    font-weight: 750;
    line-height: 0.96;
    letter-spacing: -0.055em;
}

.ceo-hero-copy h1 span {
    color: #d9bd5b;
}

.ceo-hero-copy > p {
    max-width: 57ch;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.77);
    font-size: clamp(1rem, 1.45vw, 1.15rem);
    line-height: 1.75;
}

.ceo-hero-signature {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ceo-hero-signature > span {
    width: 3rem;
    height: 2px;
    background: var(--elma-gold);
}

.ceo-hero-signature strong,
.ceo-hero-signature small {
    display: block;
}

.ceo-hero-signature strong {
    color: white;
    font-size: 0.84rem;
}

.ceo-hero-signature small {
    margin-top: 0.2rem;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.68rem;
}

.ceo-portrait-wrap {
    position: relative;
    width: min(100%, 470px);
    margin-left: auto;
}

.ceo-portrait-frame {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 1.5rem;
    background: #26344e;
    box-shadow: 0 32px 70px rgba(0, 0, 0, 0.32);
}

.ceo-portrait-frame::after {
    content: '';
    position: absolute;
    inset: 55% 0 0;
    background: linear-gradient(transparent, rgba(8, 13, 25, 0.58));
}

.ceo-portrait-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.ceo-portrait-badge {
    position: absolute;
    right: -1.5rem;
    bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: min(330px, calc(100% - 1rem));
    padding: 0.9rem 1rem;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.9rem;
    background: rgba(10, 17, 32, 0.82);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(14px);
}

.ceo-portrait-badge > i {
    display: grid;
    flex: 0 0 2.6rem;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    color: #151b28;
    border-radius: 50%;
    background: var(--elma-gold);
}

.ceo-portrait-badge strong,
.ceo-portrait-badge small {
    display: block;
}

.ceo-portrait-badge strong {
    font-size: 0.8rem;
}

.ceo-portrait-badge small {
    margin-top: 0.2rem;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.66rem;
}

.ceo-message-section,
.ceo-values-section,
.ceo-closing-section {
    padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.ceo-message-section {
    background: white;
}

.ceo-message-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(320px, 0.72fr);
    align-items: start;
    gap: clamp(2rem, 6vw, 5rem);
}

.ceo-letter {
    position: relative;
    max-width: 800px;
}

.ceo-quote-mark {
    position: absolute;
    top: -2.2rem;
    right: 1rem;
    color: rgba(212, 175, 55, 0.16);
    font-family: Georgia, serif;
    font-size: 9rem;
    line-height: 1;
}

.ceo-letter h2 {
    position: relative;
    max-width: 17ch;
    margin-bottom: 1.5rem;
    color: var(--elma-ink);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.ceo-letter blockquote {
    margin: 0 0 1.5rem;
    padding: 0 0 0 1.35rem;
    color: #26344a;
    border-left: 3px solid var(--elma-gold);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-style: italic;
    line-height: 1.55;
}

.ceo-letter > p {
    color: #4f5d72;
    font-size: 1rem;
    line-height: 1.85;
}

.ceo-managed-message {
    color: #4f5d72;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.05rem, 1.5vw, 1.16rem);
    line-height: 1.85;
    white-space: pre-line;
}

.ceo-letter-signoff {
    display: grid;
    gap: 0.15rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--elma-line);
}

.ceo-letter-signoff strong {
    color: var(--elma-ink);
    font-size: 0.86rem;
}

.ceo-letter-signoff span {
    color: var(--elma-muted);
    font-size: 0.7rem;
}

.ceo-vision-panel {
    position: sticky;
    top: 100px;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    overflow: hidden;
    color: white;
    border-radius: 1.25rem;
    background: linear-gradient(145deg, #111a2d, #1b2e50);
    box-shadow: var(--elma-shadow);
}

.ceo-vision-label {
    margin-bottom: 1rem;
    color: #e0c55e;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.ceo-vision-panel h3 {
    margin-bottom: 1.6rem;
    color: white;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.25;
}

.ceo-vision-panel ul {
    display: grid;
    gap: 0;
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.ceo-vision-panel li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ceo-vision-panel li > span {
    color: #d9bd5b;
    font-size: 0.65rem;
    font-weight: 750;
}

.ceo-vision-panel li strong,
.ceo-vision-panel li small {
    display: block;
}

.ceo-vision-panel li strong {
    color: white;
    font-size: 0.82rem;
}

.ceo-vision-panel li small {
    margin-top: 0.25rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.7rem;
    line-height: 1.55;
}

.ceo-panel-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #e9ce67;
    font-size: 0.75rem;
    font-weight: 700;
}

.ceo-panel-link:hover {
    color: white;
}

.ceo-values-section {
    background: var(--elma-canvas);
}

.ceo-values-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    align-items: end;
    gap: clamp(2rem, 6vw, 5rem);
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.ceo-values-heading h2 {
    max-width: 16ch;
    margin: 0;
    color: var(--elma-ink);
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: -0.04em;
}

.ceo-values-heading > p {
    margin: 0;
    color: var(--elma-muted);
    line-height: 1.75;
}

.ceo-values-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ceo-value-card {
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border: 1px solid var(--elma-line);
    border-radius: 1.15rem;
    background: white;
}

.ceo-value-card:hover {
    border-color: #cbd2dd;
    transform: translateY(-4px);
    box-shadow: var(--elma-shadow-sm);
}

.ceo-value-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.ceo-value-top span {
    color: #9ba5b5;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.1em;
}

.ceo-value-top i {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    color: var(--elma-gold-dark);
    border-radius: 0.75rem;
    background: rgba(212, 175, 55, 0.13);
}

.ceo-value-card h3 {
    margin-bottom: 0.7rem;
    color: var(--elma-ink);
    font-size: 1.25rem;
}

.ceo-value-card p {
    margin: 0;
    color: #5b687c;
    font-size: 0.84rem;
    line-height: 1.7;
}

.ceo-closing-section {
    background: white;
}

.ceo-closing-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto;
    align-items: center;
    gap: 3rem;
    padding: clamp(2rem, 5vw, 4rem);
    border-radius: 1.5rem;
    background: #101727;
}

.ceo-closing-panel h2 {
    max-width: 18ch;
    margin-bottom: 0.8rem;
    color: white;
    font-size: clamp(1.9rem, 4vw, 3.2rem);
    letter-spacing: -0.04em;
}

.ceo-closing-panel p {
    max-width: 58ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.73);
    line-height: 1.7;
}

.ceo-closing-actions {
    display: grid;
    gap: 0.85rem;
    justify-items: center;
}

.ceo-primary-action {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #111827;
    background: var(--elma-gold);
}

.public-app main .ceo-primary-action:hover {
    color: #111827;
    background: #efd673;
}

.ceo-secondary-action,
.ceo-secondary-action:hover {
    color: white;
    font-size: 0.72rem;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.35);
    text-underline-offset: 0.25rem;
}

/* Homepage leadership message preview */
.home-leadership-section {
    padding: clamp(3rem, 5.5vw, 5rem) 0;
    background: #f4f6f9;
}

.home-leadership-card {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(320px, 0.72fr);
    min-height: 510px;
    overflow: hidden;
    border: 1px solid #dfe4ec;
    border-radius: clamp(1.25rem, 2.5vw, 1.75rem);
    background: white;
    box-shadow: 0 25px 65px rgba(16, 23, 39, 0.1);
}

.home-leadership-content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.25rem, 5vw, 4.5rem);
}

.home-leadership-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.35rem;
}

.home-leadership-heading .section-kicker {
    flex: 0 0 auto;
    margin: 0;
}

.home-leadership-rule {
    width: min(7rem, 20vw);
    height: 1px;
    background: #d8dde6;
}

.home-leadership-quote {
    position: absolute;
    top: clamp(1rem, 3vw, 2.5rem);
    right: clamp(1.5rem, 4vw, 3.5rem);
    color: rgba(212, 175, 55, 0.15);
    font-family: Georgia, serif;
    font-size: clamp(6rem, 10vw, 10rem);
    line-height: 1;
}

.home-leadership-content h2 {
    position: relative;
    max-width: 16ch;
    margin-bottom: 1.3rem;
    color: var(--elma-ink);
    font-size: clamp(2rem, 3.8vw, 3.4rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.home-leadership-content blockquote {
    max-width: 70ch;
    margin: 0 0 2rem;
    color: #526075;
    font-size: clamp(0.96rem, 1.25vw, 1.05rem);
    font-style: normal;
    line-height: 1.8;
}

.home-leadership-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--elma-line);
}

.home-leadership-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.home-leadership-monogram {
    display: grid;
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: #121827;
    border-radius: 50%;
    background: var(--elma-gold);
    font-size: 0.75rem;
    font-weight: 800;
}

.home-leadership-author strong,
.home-leadership-author small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-leadership-author strong {
    color: var(--elma-ink);
    font-size: 0.78rem;
}

.home-leadership-author small {
    max-width: 260px;
    margin-top: 0.15rem;
    color: var(--elma-muted);
    font-size: 0.64rem;
}

.home-leadership-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.7rem;
    color: var(--elma-ink);
    font-size: 0.74rem;
    font-weight: 750;
}

.home-leadership-link > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: white;
    border-radius: 50%;
    background: var(--elma-ink);
    transition: transform 0.25s ease, background 0.25s ease;
}

.home-leadership-link:hover {
    color: var(--elma-ink);
}

.home-leadership-link:hover > span {
    color: #121827;
    background: var(--elma-gold);
    transform: translateX(3px);
}

.home-leadership-portrait {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #26344d;
}

.home-leadership-portrait::after {
    content: '';
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(7, 12, 24, 0.88));
}

.home-leadership-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.6s ease;
}

.home-leadership-card:hover .home-leadership-portrait img {
    transform: scale(1.025);
}

.home-leadership-portrait-overlay {
    position: absolute;
    right: clamp(1.25rem, 3vw, 2rem);
    bottom: clamp(1.25rem, 3vw, 2rem);
    left: clamp(1.25rem, 3vw, 2rem);
    z-index: 1;
}

.home-leadership-portrait-overlay span,
.home-leadership-portrait-overlay strong {
    display: block;
}

.home-leadership-portrait-overlay span {
    margin-bottom: 0.55rem;
    color: #e0c55e;
    font-size: 0.63rem;
    font-weight: 750;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.home-leadership-portrait-overlay strong {
    color: white;
    font-size: clamp(1.3rem, 2.3vw, 1.9rem);
    line-height: 1.2;
}

/* Homepage featured collections */
#collection.home-collections-section {
    padding: clamp(2.5rem, 4vw, 3.75rem) 0 clamp(3rem, 5vw, 4.5rem);
    overflow: hidden;
    background: #f4f6f9;
}

.home-collections-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    align-items: end;
    gap: clamp(1.5rem, 5vw, 4rem);
    margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.home-collections-heading h2 {
    max-width: 15ch;
    margin: 0;
    color: var(--elma-ink);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 750;
    line-height: 1.03;
    letter-spacing: -0.045em;
}

.home-collections-intro {
    display: grid;
    gap: 1.1rem;
    justify-items: start;
}

.home-collections-intro p {
    max-width: 58ch;
    margin: 0;
    color: #36445a !important;
    font-size: 0.96rem;
    line-height: 1.75;
}

.home-collections-intro > a {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    color: var(--elma-ink);
    font-size: 0.75rem;
    font-weight: 750;
}

.home-collections-intro > a > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: white;
    border-radius: 50%;
    background: var(--elma-ink);
}

.home-collections-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    grid-auto-rows: minmax(225px, auto);
    gap: 1rem;
}

.home-collection-card {
    display: grid;
    grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.28fr);
    min-width: 0;
    overflow: hidden;
    color: var(--elma-ink);
    border: 1px solid #dfe4ec;
    border-radius: 1.15rem;
    background: white;
    box-shadow: 0 10px 30px rgba(16, 23, 39, 0.06);
}

.home-collection-card:hover {
    color: var(--elma-ink);
    border-color: #c9d0db;
    background: white;
    box-shadow: 0 20px 45px rgba(16, 23, 39, 0.11);
    transform: translateY(-3px);
}

.home-collection-card-featured {
    grid-row: span 2;
    grid-template-columns: 1fr;
}

.home-collection-media {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #24334f;
}

.home-collection-card-featured .home-collection-media {
    min-height: 365px;
}

.home-collection-media::after {
    content: '';
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent, rgba(7, 12, 24, 0.72));
}

.home-collection-media img,
.home-collection-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.55s ease;
}

.home-collection-card:hover .home-collection-media img {
    transform: scale(1.04);
}

.home-collection-placeholder {
    display: grid;
    min-height: 220px;
    place-items: center;
    color: var(--elma-gold);
    background: linear-gradient(145deg, #2a3d63, #16223c);
    font-size: 2.3rem;
}

.home-collection-index {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 1;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.12em;
}

.home-collection-badge {
    position: absolute;
    right: 0.85rem;
    bottom: 0.85rem;
    z-index: 1;
    padding: 0.38rem 0.62rem;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 2rem;
    background: rgba(7, 12, 24, 0.78);
    backdrop-filter: blur(10px);
    font-size: 0.62rem;
}

.home-collection-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(1.35rem, 2.8vw, 2rem);
}

.home-collection-label {
    margin-bottom: 0.65rem;
    color: var(--elma-gold-dark);
    font-size: 0.6rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.home-collection-content h3 {
    margin-bottom: 0.65rem;
    overflow-wrap: anywhere;
    color: var(--elma-ink);
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    line-height: 1.25;
}

.home-collection-card-featured .home-collection-content h3 {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.home-collection-content p {
    display: -webkit-box;
    margin-bottom: 1rem;
    overflow: hidden;
    color: #586579;
    font-size: 0.78rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-collection-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 0.85rem;
    color: var(--elma-ink);
    border-top: 1px solid #e5e9ef;
    font-size: 0.7rem;
    font-weight: 700;
}

.home-collection-action i {
    color: var(--elma-gold-dark);
    transition: transform 0.25s ease;
}

.home-collection-card:hover .home-collection-action i {
    transform: translateX(4px);
}

@media (max-width: 991.98px) {
    .home-collections-heading,
    .home-collections-grid {
        grid-template-columns: 1fr;
    }

    .home-collection-card-featured {
        grid-row: auto;
    }

    .home-collection-card-featured .home-collection-media {
        min-height: 340px;
    }
}

@media (max-width: 575.98px) {
    .home-collections-section {
        padding: 2.25rem 0 3rem;
    }

    .home-collections-heading {
        gap: 1.25rem;
    }

    .home-collection-card {
        grid-template-columns: 1fr;
    }

    .home-collection-media,
    .home-collection-card-featured .home-collection-media {
        min-height: 245px;
    }
}

@media (max-width: 991.98px) {
    .home-leadership-card {
        grid-template-columns: 1fr;
    }

    .home-leadership-portrait {
        min-height: 420px;
    }
}

@media (max-width: 575.98px) {
    .home-leadership-section {
        padding: 3rem 0;
    }

    .home-leadership-content {
        padding: 1.75rem 1.35rem;
    }

    .home-leadership-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-leadership-link {
        justify-content: space-between;
        width: 100%;
    }

    .home-leadership-portrait {
        min-height: 340px;
    }
}

@media (max-width: 991.98px) {
    .ceo-hero-grid,
    .ceo-message-grid,
    .ceo-values-heading,
    .ceo-closing-panel {
        grid-template-columns: 1fr;
    }

    .ceo-hero-grid {
        min-height: auto;
    }

    .ceo-portrait-wrap {
        width: min(82%, 470px);
        margin: 0 auto;
    }

    .ceo-vision-panel {
        position: static;
    }

    .ceo-values-heading {
        gap: 1rem;
    }

    .ceo-closing-actions {
        justify-items: start;
    }
}

@media (max-width: 767.98px) {
    .ceo-hero {
        padding: 2.5rem 0;
    }

    .ceo-hero-grid {
        gap: 2.5rem;
    }

    .ceo-hero-copy h1 {
        font-size: clamp(2.8rem, 13vw, 4.6rem);
    }

    .ceo-portrait-wrap {
        width: min(92%, 420px);
    }

    .ceo-portrait-badge {
        right: -0.5rem;
        bottom: 1rem;
    }

    .ceo-message-section,
    .ceo-values-section,
    .ceo-closing-section {
        padding: 3.5rem 0;
    }

    .ceo-values-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .ceo-portrait-wrap {
        width: 100%;
    }

    .ceo-portrait-badge {
        right: 0.75rem;
        left: 0.75rem;
        width: auto;
    }

    .ceo-letter blockquote {
        font-size: 1.12rem;
    }

    .ceo-closing-panel {
        padding: 1.5rem;
    }

    .ceo-closing-actions,
    .ceo-primary-action {
        width: 100%;
    }

    .ceo-primary-action {
        justify-content: center;
    }
}

@media (max-width: 767.98px) {
    .page-intro {
        padding: 2rem 1.4rem;
    }

    .collection-detail-stats {
        grid-template-columns: 1fr;
    }

    .collection-detail-image {
        min-height: 280px;
    }

    .search-result-grid,
    .modern-category-grid {
        grid-template-columns: 1fr;
    }

    .search-page-form {
        margin-block: 1.5rem 2rem;
    }
}

@media (max-width: 480px) {
    .search-page-form {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .search-page-form button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* Authentication */
.admin-app main:has(form[method='POST']) .container.py-5 > .row.justify-content-center > [class*='col-'] {
    max-width: 440px;
}

.admin-app main:has(form[method='POST']) .container.py-5 .card {
    border: 0;
    box-shadow: 0 25px 65px rgba(16, 23, 39, 0.14);
}

/* Admin shell */
.admin-app {
    min-height: 100vh;
    background: #f3f5f8;
}

.admin-app main {
    min-height: calc(100vh - 76px);
    background: #f3f5f8;
}

.admin-header {
    z-index: 1040;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: #0e1627;
    box-shadow: 0 10px 30px rgba(7, 12, 24, 0.16);
}

.admin-navbar {
    min-height: 60px;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none;
}

.admin-nav-shell {
    padding-inline: clamp(1rem, 3vw, 2rem);
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0;
}

.admin-brand-mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #131b2b;
    border-radius: 0.7rem;
    background: var(--elma-gold);
    font-weight: 800;
}

.admin-brand > span:last-child,
.admin-brand strong,
.admin-brand small {
    display: block;
}

.admin-brand strong {
    color: white;
    font-size: 0.9rem;
    line-height: 1;
}

.admin-brand small {
    margin-top: 0.18rem;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.58rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-nav-menu {
    align-items: center;
    gap: 0.15rem;
}

.admin-nav-menu .nav-link {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.62rem 0.72rem !important;
    color: rgba(255, 255, 255, 0.62) !important;
    border-radius: 0.6rem;
    font-size: 0.72rem;
    font-weight: 650;
}

.admin-nav-menu .nav-link:hover,
.admin-nav-menu .nav-link.active {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08);
}

.admin-nav-menu .nav-link.active {
    box-shadow: inset 0 -2px var(--elma-gold);
}

.admin-nav-menu .nav-link i {
    width: 0.9rem;
    color: #d9bd5b;
    text-align: center;
}

.admin-account-btn {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.35rem 0.5rem;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.045);
}

.admin-avatar {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #121827;
    border-radius: 0.55rem;
    background: var(--elma-gold);
    font-size: 0.75rem;
    font-weight: 800;
}

.admin-account-copy strong,
.admin-account-copy small {
    display: block;
    max-width: 120px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-account-copy strong {
    color: white;
    font-size: 0.7rem;
}

.admin-account-copy small {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.57rem;
}

.admin-account-btn > i {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.58rem;
}

.admin-dropdown {
    padding: 0.45rem;
    border: 1px solid var(--elma-line);
    border-radius: 0.8rem;
    box-shadow: var(--elma-shadow);
}

.admin-dropdown .dropdown-item {
    padding: 0.62rem 0.7rem;
    border-radius: 0.55rem;
    font-size: 0.75rem;
}

.admin-app main > .container,
.admin-app main > .container-fluid {
    max-width: 1600px;
    padding: clamp(1.25rem, 3vw, 2.25rem) !important;
}

.admin-app main h1,
.admin-app main h2 {
    color: var(--elma-ink);
    font-weight: 750;
    letter-spacing: -0.03em;
}

.admin-app main h1 {
    font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.admin-app main h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
}

.admin-app main .row.mb-4,
.admin-app main .row.mb-5 {
    margin-bottom: 1.5rem !important;
}

.admin-app .badge {
    padding: 0.42rem 0.58rem;
    border-radius: 2rem;
    font-size: 0.62rem;
    font-weight: 700;
}

.admin-app .btn-group .btn,
.admin-app .btn-sm {
    min-height: 34px;
    padding: 0.45rem 0.65rem;
}

/* Error pages */
.public-app main .display-1 {
    color: var(--elma-gold) !important;
    font-size: clamp(5rem, 16vw, 10rem);
    font-weight: 800;
    letter-spacing: -0.08em;
}

@media (max-width: 1199.98px) {
    .admin-navbar .navbar-toggler {
        border-color: rgba(255, 255, 255, 0.15);
    }

    .admin-navbar .navbar-collapse {
        margin-top: 0.6rem;
        padding: 0.75rem;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 0.9rem;
        background: #111b2f;
    }

    .admin-nav-menu {
        align-items: stretch;
    }

    .admin-account {
        margin-top: 0.7rem;
        padding-top: 0.7rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .admin-account-btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .public-app main > .container,
    .public-app main > section.container {
        padding-top: 2rem !important;
        padding-bottom: 3rem !important;
    }

    .public-app main .card-body,
    .admin-app main .card-body {
        padding: 1.1rem;
    }

    .admin-app main > .container,
    .admin-app main > .container-fluid {
        padding: 1rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
/* Unified books, authors and collections catalogue */
.catalog-page {
  padding-top: clamp(1rem, 2.5vw, 2rem);
  padding-bottom: clamp(3rem, 7vw, 6rem);
}

.catalog-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  padding: clamp(2rem, 5vw, 4.75rem);
  border-radius: 1.75rem;
  color: #fff;
  background:
    radial-gradient(circle at 88% 15%, rgba(211, 169, 83, .25), transparent 31%),
    linear-gradient(135deg, #08152d 0%, #10264b 62%, #17345f 100%);
  box-shadow: 0 24px 58px rgba(8, 21, 45, .18);
}

.catalog-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -5rem;
  bottom: -8rem;
  width: 19rem;
  height: 19rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 2.75rem rgba(255, 255, 255, .025), 0 0 0 5.5rem rgba(255, 255, 255, .02);
}

.catalog-hero-copy { max-width: 48rem; }
.catalog-eyebrow,
.catalog-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #d9b66e;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.catalog-hero h1 {
  margin: .7rem 0 .8rem;
  color: #fff;
  font-size: clamp(2.35rem, 6vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.catalog-hero p {
  max-width: 43rem;
  margin: 0;
  color: rgba(255, 255, 255, .8);
  font-size: clamp(1rem, 1.8vw, 1.16rem);
  line-height: 1.72;
}

.catalog-switcher {
  display: flex;
  gap: .35rem;
  padding: .35rem;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  backdrop-filter: blur(12px);
}

.catalog-switcher a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.6rem;
  padding: .65rem .9rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, .78);
  font-size: .82rem;
  font-weight: 750;
  white-space: nowrap;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.catalog-switcher a:hover { color: #fff; transform: translateY(-1px); }
.catalog-switcher a.active { color: #10213d; background: #e0bb70; }

.catalog-section { margin-top: clamp(2.75rem, 6vw, 5rem); }
.catalog-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.5rem;
}
.catalog-section-heading h2 {
  margin: .45rem 0 0;
  color: #10213d;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  letter-spacing: -.035em;
}
.catalog-section-heading > p {
  max-width: 28rem;
  margin: 0;
  color: #59677a;
  line-height: 1.65;
}
.catalog-section-heading-compact { align-items: center; }
.catalog-count {
  padding: .55rem .85rem;
  border: 1px solid #dce3ec;
  border-radius: 999px;
  color: #41516a;
  background: #fff;
  font-size: .82rem;
  font-weight: 750;
}

.catalog-featured-books,
.catalog-book-grid,
.catalog-author-grid,
.catalog-featured-collections,
.catalog-collection-grid { display: grid; gap: 1.25rem; }
.catalog-featured-books { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.catalog-author-grid,
.catalog-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.catalog-featured-collections { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.catalog-featured-book,
.catalog-book-card,
.catalog-author-card,
.catalog-featured-collection,
.catalog-collection-card {
  overflow: hidden;
  border: 1px solid #dfe5ed;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 12px 34px rgba(16, 33, 61, .07);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.catalog-featured-book:hover,
.catalog-book-card:hover,
.catalog-author-card:hover,
.catalog-featured-collection:hover,
.catalog-collection-card:hover {
  transform: translateY(-5px);
  border-color: rgba(196, 151, 65, .5);
  box-shadow: 0 20px 42px rgba(16, 33, 61, .13);
}

.catalog-featured-book { display: grid; grid-template-columns: minmax(9rem, 38%) 1fr; }
.catalog-book-cover,
.catalog-author-portrait,
.catalog-collection-media { position: relative; display: block; overflow: hidden; background: #e8edf3; }
.catalog-featured-book .catalog-book-cover { min-height: 20rem; }
.catalog-book-card .catalog-book-cover { aspect-ratio: 4 / 5; }
.catalog-author-portrait { aspect-ratio: 5 / 4; }
.catalog-collection-media { aspect-ratio: 16 / 9; }
.catalog-featured-collection .catalog-collection-media { aspect-ratio: 16 / 8; }
.catalog-book-cover img,
.catalog-author-portrait img,
.catalog-collection-media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
}
.catalog-featured-book:hover img,
.catalog-book-card:hover img,
.catalog-author-card:hover img,
.catalog-featured-collection:hover img,
.catalog-collection-card:hover img { transform: scale(1.035); }
.catalog-media-placeholder {
  display: flex; width: 100%; height: 100%; min-height: 12rem;
  align-items: center; justify-content: center;
  color: #d9b66e;
  background: linear-gradient(145deg, #10213d, #1c3d68);
  font-size: 2.25rem;
}
.catalog-author-initial { font-family: Georgia, serif; font-size: 4rem; }
.catalog-badge-row { position: absolute; z-index: 1; top: .75rem; left: .75rem; right: .75rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.catalog-badge {
  position: absolute; z-index: 1; top: .75rem; left: .75rem;
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .42rem .65rem; border-radius: 999px;
  color: #17223a; background: #e2bd72;
  font-size: .69rem; font-weight: 850; letter-spacing: .03em;
}
.catalog-badge-row .catalog-badge { position: static; }
.catalog-badge-new { color: #fff; background: #174d3b; }

.catalog-card-body { display: flex; flex-direction: column; padding: 1.25rem; }
.catalog-featured-book .catalog-card-body { justify-content: center; padding: clamp(1.3rem, 3vw, 2.25rem); }
.catalog-card-label { color: #9b6e1d; font-size: .71rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.catalog-card-body h3 { margin: .5rem 0 .45rem; color: #10213d; font-size: 1.15rem; line-height: 1.28; letter-spacing: -.02em; }
.catalog-featured-book .catalog-card-body h3,
.catalog-featured-collection .catalog-card-body h3 { font-size: clamp(1.35rem, 2.2vw, 1.8rem); }
.catalog-card-body h3 a { color: inherit; }
.catalog-card-body h3 a:hover { color: #a47322; }
.catalog-byline,
.catalog-summary { margin: 0; color: #5d697a; font-size: .9rem; line-height: 1.58; }
.catalog-summary { margin-top: .35rem; }
.money-amount {
    color: #198754 !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.catalog-price { display: block; margin-top: .8rem; font-size: 1rem; }
.catalog-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; }
.catalog-text-link { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.1rem; color: #8d6118; font-size: .84rem; font-weight: 800; }
.catalog-card-footer .catalog-text-link { margin-top: 0; }
.catalog-text-link i { transition: transform .2s ease; }
.catalog-text-link:hover { color: #62420f; }
.catalog-text-link:hover i { transform: translateX(3px); }
.catalog-arrow-link {
  display: inline-flex; width: 2.35rem; height: 2.35rem; align-items: center; justify-content: center;
  border-radius: 50%; color: #fff; background: #10213d;
}
.catalog-arrow-link:hover { color: #10213d; background: #e0bb70; }
.catalog-item-count { color: #59677a; font-size: .82rem; }

.catalog-author-card .catalog-card-body { min-height: 15rem; }
.catalog-author-stats {
  display: flex; gap: 1.25rem; margin-top: auto; padding-top: 1.2rem;
  color: #6b7685; font-size: .78rem;
}
.catalog-author-stats strong { color: #10213d; font-size: .98rem; }
.catalog-author-card .catalog-text-link { margin-top: .8rem; }

.catalog-pagination { margin-top: 2.25rem; }
.catalog-pagination .pagination { gap: .4rem; }
.catalog-pagination .page-link {
  display: flex; min-width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center;
  border: 1px solid #dce3ec; border-radius: .7rem !important; color: #34445d; background: #fff;
}
.catalog-pagination .active .page-link { border-color: #10213d; color: #fff; background: #10213d; }
.catalog-pagination .page-link:hover { border-color: #d3a953; color: #10213d; background: #f7edd8; }
.catalog-empty-state {
  padding: clamp(2.5rem, 7vw, 5rem); border: 1px dashed #cbd5e1; border-radius: 1.25rem;
  text-align: center; color: #5d697a; background: #f8fafc;
}
.catalog-empty-state > i { color: #b6842c; font-size: 2.25rem; }
.catalog-empty-state h2 { margin: 1rem 0 .4rem; color: #10213d; font-size: 1.4rem; }
.catalog-empty-state p { margin: 0; }

@media (max-width: 991.98px) {
  .catalog-hero { grid-template-columns: 1fr; align-items: start; }
  .catalog-switcher { width: fit-content; }
  .catalog-book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-author-grid,
  .catalog-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .catalog-page { padding-top: .75rem; }
  .catalog-hero { padding: 2rem 1.25rem 1.25rem; border-radius: 1.2rem; }
  .catalog-switcher { width: 100%; overflow-x: auto; justify-content: flex-start; }
  .catalog-switcher a { flex: 1 0 auto; justify-content: center; }
  .catalog-section-heading { align-items: start; flex-direction: column; gap: .7rem; }
  .catalog-featured-books,
  .catalog-featured-collections { grid-template-columns: 1fr; }
  .catalog-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-featured-book { grid-template-columns: minmax(8rem, 38%) 1fr; }
  .catalog-featured-book .catalog-book-cover { min-height: 17rem; }
}

@media (max-width: 575.98px) {
  .catalog-switcher a { padding: .6rem .7rem; font-size: .76rem; }
  .catalog-switcher a i { display: none; }
  .catalog-book-grid,
  .catalog-author-grid,
  .catalog-collection-grid { grid-template-columns: 1fr; }
  .catalog-featured-book { grid-template-columns: 1fr; }
  .catalog-featured-book .catalog-book-cover { min-height: 0; aspect-ratio: 4 / 3; }
  .catalog-book-card { display: grid; grid-template-columns: 7.5rem 1fr; }
  .catalog-book-card .catalog-book-cover { aspect-ratio: auto; min-height: 12rem; }
  .catalog-book-card .catalog-card-body { padding: 1rem; }
  .catalog-book-card .catalog-summary { display: none; }
  .catalog-pagination .page-link span { display: none; }
}
/* Expertise and group page families */
.service-page,.group-page{padding-top:clamp(1rem,2.5vw,2rem);padding-bottom:clamp(3rem,7vw,6rem)}
.service-hero,.group-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;padding:clamp(2rem,5vw,4.75rem);border-radius:1.75rem;color:#fff;background:radial-gradient(circle at 88% 15%,rgba(211,169,83,.25),transparent 31%),linear-gradient(135deg,#08152d,#10264b 62%,#17345f);box-shadow:0 24px 58px rgba(8,21,45,.18)}
.service-hero::after,.group-hero::after{content:"";position:absolute;z-index:-1;right:-5rem;bottom:-8rem;width:19rem;height:19rem;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 2.75rem rgba(255,255,255,.025),0 0 0 5.5rem rgba(255,255,255,.02)}
.service-hero>div,.group-hero>div{max-width:49rem}.service-eyebrow,.service-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#d9b66e;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.service-hero h1,.group-hero h1{margin:.7rem 0 .8rem;color:#fff;font-size:clamp(2.35rem,6vw,4.8rem);line-height:.98;letter-spacing:-.055em}.service-hero p,.group-hero p{max-width:45rem;margin:0;color:rgba(255,255,255,.8);font-size:clamp(1rem,1.8vw,1.16rem);line-height:1.72}
.service-switcher,.group-switcher{display:flex;gap:.35rem;padding:.35rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}
.service-switcher a,.group-switcher a{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.6rem;padding:.65rem .95rem;border-radius:999px;color:rgba(255,255,255,.78);font-size:.8rem;font-weight:750;white-space:nowrap}.service-switcher a:hover,.group-switcher a:hover{color:#fff}.service-switcher a.active,.group-switcher a.active{color:#10213d;background:#e0bb70}
.service-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start;padding:clamp(3rem,7vw,6rem) clamp(.25rem,3vw,2rem)}.service-intro-grid h2,.service-section-heading h2,.group-mission-copy h2,.group-values h2,.group-cta h2{margin:.45rem 0 0;color:#10213d;font-size:clamp(1.75rem,3.5vw,2.75rem);letter-spacing:-.04em;line-height:1.12}.service-intro-grid>p{margin:0;color:#526176;font-size:1.03rem;line-height:1.85}
.service-section{margin-top:clamp(3rem,7vw,5.75rem)}.service-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.service-text-link{display:inline-flex;align-items:center;gap:.55rem;color:#8d6118;font-size:.84rem;font-weight:800}.service-text-link:hover{color:#62420f}.service-text-link i{transition:transform .2s}.service-text-link:hover i{transform:translateX(3px)}
.service-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}.service-book-card,.service-client-grid article{overflow:hidden;border:1px solid #dfe5ed;border-radius:1.2rem;background:#fff;box-shadow:0 12px 34px rgba(16,33,61,.07);transition:transform .25s,box-shadow .25s}.service-book-card:hover,.service-client-grid article:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(16,33,61,.13)}.service-book-cover{display:block;overflow:hidden;aspect-ratio:4/5;background:#e8edf3}.service-book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-book-card:hover img{transform:scale(1.035)}.service-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#d9b66e;background:linear-gradient(145deg,#10213d,#1c3d68);font-size:2rem}.service-card-body{padding:1.2rem}.service-card-label{color:#9b6e1d;font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.service-card-body h3{margin:.45rem 0;color:#10213d;font-size:1.1rem}.service-card-body h3 a{color:inherit}.service-card-body p{margin:0;color:#59677a;font-size:.86rem}.service-card-body .service-summary{margin-top:.65rem;line-height:1.55}.service-card-body .service-text-link{margin-top:1rem}
.service-authors-panel,.service-client-panel{padding:clamp(1.5rem,4vw,3rem);border-radius:1.5rem;background:#f4f6f9}.service-author-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.service-author-chip{display:grid;grid-template-columns:3.4rem 1fr auto;gap:.8rem;align-items:center;padding:.7rem;border:1px solid #e0e5ec;border-radius:1rem;color:#10213d;background:#fff}.service-author-chip img,.service-author-chip>span{display:flex;width:3.4rem;height:3.4rem;align-items:center;justify-content:center;border-radius:.75rem;object-fit:cover;color:#d9b66e;background:#10213d;font-family:Georgia,serif;font-size:1.4rem}.service-author-chip strong,.service-author-chip small{display:block}.service-author-chip small{margin-top:.15rem;color:#758093;font-size:.72rem}.service-author-chip>i{color:#b4812b}
.service-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-offer-grid article{position:relative;min-height:15rem;padding:1.5rem;border:1px solid #dfe5ed;border-radius:1.2rem;background:#fff}.service-offer-grid article>span{position:absolute;top:1.25rem;right:1.25rem;color:#b8c0cc;font-size:.72rem;font-weight:800}.service-offer-grid i{display:flex;width:2.8rem;height:2.8rem;align-items:center;justify-content:center;border-radius:.8rem;color:#dcb66a;background:#10213d}.service-offer-grid h3{margin:2.1rem 0 .5rem;color:#10213d;font-size:1.08rem}.service-offer-grid p{margin:0;color:#5d697a;font-size:.88rem;line-height:1.6}
.service-client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.service-client-grid article{padding:1.35rem;text-align:center}.service-client-grid img,.service-client-monogram{display:flex;width:4.5rem;height:4.5rem;margin:0 auto 1rem;align-items:center;justify-content:center;object-fit:contain;border-radius:1rem;color:#d9b66e;background:#10213d;font-family:Georgia,serif;font-size:2rem}.service-client-grid h3{color:#10213d;font-size:1rem}.service-client-grid p{color:#697589;font-size:.82rem;line-height:1.5}.service-client-grid a{color:#8d6118;font-size:.78rem;font-weight:800}.service-empty{padding:clamp(2.5rem,6vw,4.5rem);border:1px dashed #cbd5e1;border-radius:1.2rem;text-align:center;color:#5d697a;background:#fff}.service-empty>i{color:#b6842c;font-size:2.2rem}.service-empty h3{margin:1rem 0 .4rem;color:#10213d}.service-empty p{margin:0 0 1rem}
.group-manifesto{max-width:58rem;margin:clamp(3.5rem,8vw,7rem) auto;text-align:center}.group-manifesto blockquote{margin:1rem 0;color:#10213d;font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem);line-height:1.1;letter-spacing:-.035em}.group-manifesto p{max-width:42rem;margin:auto;color:#5b687a;line-height:1.75}.group-mission-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,7vw,6rem);align-items:center;padding:clamp(2rem,5vw,4rem);border-radius:1.5rem;background:#f4f6f9}.group-mission-copy p{margin:1rem 0 1.25rem;color:#5b687a;line-height:1.75}.group-expertise-list{display:grid;gap:.75rem}.group-expertise-list article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.1rem;border:1px solid #e0e5ec;border-radius:1rem;background:#fff}.group-expertise-list i{display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:.8rem;color:#d9b66e;background:#10213d}.group-expertise-list h3{margin:0;color:#10213d;font-size:1rem}.group-expertise-list p{margin:.25rem 0 0;color:#6a7586;font-size:.82rem}
.group-values{margin-top:clamp(3.5rem,8vw,7rem)}.group-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.group-values-grid article{padding:1.5rem;border-top:3px solid #d3a953;border-radius:0 0 1rem 1rem;background:#fff;box-shadow:0 12px 32px rgba(16,33,61,.07)}.group-values-grid span{color:#a97620;font-size:.72rem;font-weight:850}.group-values-grid h3{margin:1.8rem 0 .5rem;color:#10213d;font-size:1.1rem}.group-values-grid p{margin:0;color:#697589;font-size:.85rem;line-height:1.55}.group-stats{margin-top:clamp(3.5rem,8vw,7rem);padding:clamp(2rem,5vw,4rem);border-radius:1.5rem;background:#10213d}.group-stats>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1.5rem}.group-stats article{padding:1rem;border-right:1px solid rgba(255,255,255,.13);text-align:center}.group-stats article:last-child{border:0}.group-stats strong,.group-stats span{display:block}.group-stats strong{color:#fff;font-size:clamp(1.8rem,4vw,3rem)}.group-stats span{margin-top:.25rem;color:rgba(255,255,255,.65);font-size:.78rem}.group-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:clamp(3.5rem,8vw,7rem);padding:clamp(2rem,5vw,3.5rem);border:1px solid #e1d1b4;border-radius:1.5rem;background:#f8f2e7}.group-cta>div:last-child{display:flex;align-items:center;gap:1.25rem}.group-cta .btn{background:#10213d;border-color:#10213d}
.testimonial-featured-grid,.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.testimonial-featured-grid article{position:relative;padding:1.6rem;border-radius:1.25rem;color:#fff;background:#10213d;box-shadow:0 16px 38px rgba(16,33,61,.15)}.testimonial-featured-grid article>i{color:#d9b66e;font-size:1.5rem}.testimonial-featured-grid blockquote{min-height:7rem;margin:1rem 0 1.5rem;color:rgba(255,255,255,.88);font-family:Georgia,serif;font-size:1.08rem;line-height:1.65}.testimonial-featured-grid footer{display:flex;gap:.75rem;align-items:center}.testimonial-featured-grid footer>span{display:flex;width:2.7rem;height:2.7rem;align-items:center;justify-content:center;border-radius:50%;color:#10213d;background:#d9b66e;font-weight:850}.testimonial-featured-grid strong,.testimonial-featured-grid small{display:block}.testimonial-featured-grid small{color:rgba(255,255,255,.6);font-size:.72rem}.testimonial-featured-grid em{position:absolute;top:1.4rem;right:1.4rem;color:#d9b66e;font-size:.68rem;font-style:normal;text-transform:uppercase}.testimonial-grid article{display:flex;min-height:18rem;flex-direction:column;padding:1.5rem;border:1px solid #dfe5ed;border-radius:1.2rem;background:#fff;box-shadow:0 12px 34px rgba(16,33,61,.06)}.testimonial-grid article>div{display:flex;justify-content:space-between;color:#c08d36}.testimonial-grid article>div span{font-size:.68rem;font-weight:800;text-transform:uppercase}.testimonial-grid blockquote{margin:1.3rem 0;color:#34445a;font-family:Georgia,serif;font-size:1rem;line-height:1.7}.testimonial-grid footer{margin-top:auto;padding-top:1rem;border-top:1px solid #edf0f4}.testimonial-grid strong,.testimonial-grid small{display:block}.testimonial-grid strong{color:#10213d}.testimonial-grid small{color:#788395;font-size:.75rem}.testimonial-cta>a{flex:none}
@media(max-width:991.98px){.service-hero,.group-hero{grid-template-columns:1fr}.service-switcher,.group-switcher{width:fit-content}.service-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-offer-grid,.testimonial-featured-grid,.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-client-grid,.group-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-author-row{grid-template-columns:repeat(2,minmax(0,1fr))}.group-mission-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.service-page,.group-page{padding-top:.75rem}.service-hero,.group-hero{padding:2rem 1.25rem 1.25rem;border-radius:1.2rem}.service-switcher,.group-switcher{width:100%;overflow-x:auto}.service-switcher a,.group-switcher a{flex:1 0 auto}.service-intro-grid{grid-template-columns:1fr;gap:1rem}.service-section-heading{align-items:start;flex-direction:column;gap:.7rem}.service-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-stats>div{grid-template-columns:repeat(2,minmax(0,1fr))}.group-stats article:nth-child(2){border-right:0}.group-cta{align-items:flex-start;flex-direction:column}.group-cta>div:last-child{align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.service-switcher a i{display:none}.group-switcher a{font-size:.72rem;padding:.6rem .7rem}.service-book-grid,.service-offer-grid,.service-client-grid,.service-author-row,.group-values-grid,.testimonial-featured-grid,.testimonial-grid{grid-template-columns:1fr}.service-book-card{display:grid;grid-template-columns:7.5rem 1fr}.service-book-cover{aspect-ratio:auto;min-height:12rem}.group-stats article{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.group-stats article:nth-child(3){border-right:0}.testimonial-cta{align-items:stretch}.testimonial-cta>a{text-align:center}}
/* News and contact pages */
.news-page,.contact-page{padding-top:clamp(1rem,2.5vw,2rem);padding-bottom:clamp(3rem,7vw,6rem)}
.news-hero,.contact-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.48fr);gap:2rem;align-items:end;padding:clamp(2rem,5vw,4.75rem);border-radius:1.75rem;color:#fff;background:radial-gradient(circle at 88% 15%,rgba(211,169,83,.25),transparent 31%),linear-gradient(135deg,#08152d,#10264b 62%,#17345f);box-shadow:0 24px 58px rgba(8,21,45,.18)}
.news-hero::after,.contact-hero::after{content:"";position:absolute;z-index:-1;right:-5rem;bottom:-8rem;width:19rem;height:19rem;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 2.75rem rgba(255,255,255,.025),0 0 0 5.5rem rgba(255,255,255,.02)}
.news-eyebrow,.news-kicker,.contact-eyebrow,.contact-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#d9b66e;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.news-hero h1,.contact-hero h1{margin:.7rem 0 .8rem;color:#fff;font-size:clamp(2.35rem,6vw,4.8rem);line-height:.98;letter-spacing:-.055em}.news-hero p,.contact-hero p{max-width:45rem;margin:0;color:rgba(255,255,255,.8);font-size:clamp(1rem,1.8vw,1.16rem);line-height:1.72}
.news-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:.38rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.09);backdrop-filter:blur(12px)}.news-search>i{margin-left:.8rem;color:#d9b66e}.news-search input{min-width:0;padding:.7rem;border:0;outline:0;color:#fff;background:transparent}.news-search input::placeholder{color:rgba(255,255,255,.58)}.news-search button{padding:.65rem .9rem;border:0;border-radius:999px;color:#10213d;background:#e0bb70;font-size:.78rem;font-weight:800}
.news-section{margin-top:clamp(3rem,7vw,5.5rem)}.news-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.news-section-heading h2{margin:.45rem 0 0;color:#10213d;font-size:clamp(1.75rem,3.5vw,2.75rem);letter-spacing:-.04em}.news-section-heading>p{max-width:26rem;margin:0;color:#59677a}.news-section-heading-compact{align-items:center}
.news-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.news-featured-card,.news-card{overflow:hidden;border:1px solid #dfe5ed;border-radius:1.25rem;background:#fff;box-shadow:0 12px 34px rgba(16,33,61,.07);transition:transform .25s,box-shadow .25s}.news-featured-card:hover,.news-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(16,33,61,.13)}.news-featured-card{display:grid;grid-template-columns:minmax(10rem,.8fr) 1.2fr}.news-featured-lead{grid-column:1/-1;grid-template-columns:1.15fr 1fr}.news-media{display:block;overflow:hidden;min-height:15rem;background:#dfe5ed}.news-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.news-featured-card:hover img,.news-card:hover img{transform:scale(1.035)}.news-card-body{display:flex;flex-direction:column;padding:clamp(1.15rem,2.5vw,1.75rem)}.news-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#7a8595;font-size:.7rem;font-weight:700}.news-meta a{color:#986b1e;letter-spacing:.06em;text-transform:uppercase}.news-card-body h3{margin:.65rem 0;color:#10213d;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.28;letter-spacing:-.025em}.news-featured-lead h3{font-size:clamp(1.5rem,3vw,2.2rem)}.news-card-body h3 a{color:inherit}.news-card-body>p{margin:0;color:#5d697a;font-size:.88rem;line-height:1.65}.news-card-body footer{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;color:#788395;font-size:.72rem}.news-text-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:#8d6118;font-size:.82rem;font-weight:800}.news-text-link:hover{color:#62420f}.news-text-link i{transition:transform .2s}.news-text-link:hover i{transform:translateX(3px)}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(1.5rem,4vw,3rem);align-items:start}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.news-card{display:flex;flex-direction:column}.news-card .news-media{min-height:0;aspect-ratio:16/10}.news-card .news-card-body{flex:1}.news-sidebar{display:grid;gap:1rem;position:sticky;top:7rem}.news-sidebar>section{padding:1.3rem;border:1px solid #dfe5ed;border-radius:1.15rem;background:#fff}.news-sidebar h2{margin:.4rem 0 1rem;color:#10213d;font-size:1.15rem}.news-category-list{display:grid;gap:.35rem}.news-category-list a{display:flex;align-items:center;justify-content:space-between;padding:.68rem .75rem;border-radius:.65rem;color:#3c4b61;font-size:.82rem;background:#f5f7f9}.news-category-list a:hover{color:#10213d;background:#f3e7ce}.news-category-list strong{display:flex;min-width:1.7rem;height:1.7rem;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#10213d;font-size:.68rem}.news-popular-list{display:grid;gap:.85rem}.news-popular-list a{display:grid;grid-template-columns:4.2rem 1fr;gap:.7rem;align-items:center;color:#10213d}.news-popular-list img{width:4.2rem;height:3.7rem;border-radius:.55rem;object-fit:cover}.news-popular-list strong,.news-popular-list small{display:block}.news-popular-list strong{font-size:.78rem;line-height:1.35}.news-popular-list small{margin-top:.25rem;color:#8490a1;font-size:.66rem}.news-newsletter{color:#fff!important;background:#10213d!important}.news-newsletter>i{color:#d9b66e;font-size:1.35rem}.news-newsletter h2{color:#fff}.news-newsletter p{color:rgba(255,255,255,.68);font-size:.8rem;line-height:1.5}.news-newsletter form{display:grid;grid-template-columns:1fr 2.5rem;margin-top:1rem;padding:.25rem;border-radius:.7rem;background:#fff}.news-newsletter input{min-width:0;padding:.55rem;border:0;outline:0;font-size:.75rem}.news-newsletter button{border:0;border-radius:.5rem;color:#10213d;background:#e0bb70}.news-empty{padding:4rem 2rem;border:1px dashed #cbd5e1;border-radius:1.2rem;text-align:center;color:#5d697a;background:#f8fafc}.news-empty>i{color:#b6842c;font-size:2rem}.news-empty h3{margin:1rem 0 .4rem;color:#10213d}.news-empty p{margin:0}.news-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:clamp(3.5rem,8vw,7rem);padding:clamp(2rem,5vw,3.5rem);border-radius:1.5rem;background:#f8f2e7}.news-cta h2{margin:.45rem 0;color:#10213d;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em}.news-cta p{margin:0;color:#657185}.news-cta .btn{flex:none;background:#10213d;border-color:#10213d}
.contact-hero-note{padding:1rem 1.2rem;border-left:2px solid #d9b66e}.contact-hero-note span,.contact-hero-note strong{display:block}.contact-hero-note span{color:rgba(255,255,255,.6);font-size:.72rem;text-transform:uppercase}.contact-hero-note strong{margin-top:.25rem;color:#fff;font-size:1rem}.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);gap:1.25rem;margin-top:clamp(2rem,5vw,4rem)}.contact-form-panel,.contact-aside{border:1px solid #dfe5ed;border-radius:1.4rem;background:#fff;box-shadow:0 14px 38px rgba(16,33,61,.07)}.contact-form-panel{padding:clamp(1.4rem,4vw,3.25rem)}.contact-section-heading h2,.contact-aside h2{margin:.45rem 0;color:#10213d;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.035em}.contact-section-heading p,.contact-aside p{margin:0;color:#667286;font-size:.88rem;line-height:1.6}.contact-modern-form{display:grid;gap:1.15rem;margin-top:2rem}.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contact-field{display:grid;gap:.45rem}.contact-field label{color:#243650;font-size:.78rem;font-weight:800}.contact-field label span{color:#ad741b}.contact-field input,.contact-field textarea{width:100%;padding:.82rem .9rem;border:1px solid #ccd5e0;border-radius:.75rem;outline:0;color:#17273f;background:#fbfcfd;transition:border-color .2s,box-shadow .2s}.contact-field textarea{min-height:9rem;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{border-color:#bd8a32;box-shadow:0 0 0 3px rgba(189,138,50,.12);background:#fff}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#9aa4b2}.contact-field small{color:#8791a0;font-size:.7rem}.contact-submit{display:inline-flex;width:fit-content;align-items:center;justify-content:center;gap:.65rem;margin-top:.3rem;padding:.85rem 1.2rem;border:0;border-radius:.75rem;color:#fff;background:#10213d;font-weight:800}.contact-submit:hover{background:#1b3963}.contact-submit i{transition:transform .2s}.contact-submit:hover i{transform:translateX(3px)}
.contact-aside{overflow:hidden;padding:clamp(1.4rem,3vw,2rem);color:#fff;background:#10213d}.contact-aside .contact-kicker{color:#d9b66e}.contact-aside h2{color:#fff}.contact-aside-intro>p{color:rgba(255,255,255,.66)}.contact-aside address{display:grid;gap:.5rem;margin:1.5rem 0;font-style:normal}.contact-aside address a{display:grid;grid-template-columns:2.7rem 1fr;gap:.75rem;align-items:center;padding:.75rem;border-radius:.8rem;color:#fff;background:rgba(255,255,255,.06)}.contact-aside address i{display:flex;width:2.7rem;height:2.7rem;align-items:center;justify-content:center;border-radius:.65rem;color:#d9b66e;background:rgba(255,255,255,.07)}.contact-aside address small,.contact-aside address strong{display:block}.contact-aside address small{color:rgba(255,255,255,.52);font-size:.67rem}.contact-aside address strong{margin-top:.15rem;font-size:.78rem}.contact-hours{display:flex;gap:.8rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.contact-hours>i{color:#d9b66e}.contact-hours strong{font-size:.8rem}.contact-hours p{margin:.3rem 0 0;color:rgba(255,255,255,.62);font-size:.73rem}.contact-social{margin-top:1rem}.contact-social>span{color:rgba(255,255,255,.6);font-size:.7rem;text-transform:uppercase}.contact-social>div{display:flex;gap:.4rem;margin-top:.65rem}.contact-social a{display:flex;width:2.35rem;height:2.35rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fff}.contact-social a:hover{color:#10213d;background:#d9b66e}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.25rem;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid #e1d1b4;border-radius:1.25rem;background:#f8f2e7}.contact-bottom h2{margin:.4rem 0 0;color:#10213d;font-size:clamp(1.35rem,3vw,2rem)}
.contact-map{position:relative;overflow:hidden;margin:0 0 1rem;border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:#0a1930}.contact-map iframe{display:block;width:100%;height:13rem;border:0}.contact-map a{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem;color:#fff;background:rgba(255,255,255,.08);font-size:.72rem;font-weight:800}.contact-map a:hover{color:#10213d;background:#d9b66e}.contact-hours p{white-space:pre-line}
@media(max-width:991.98px){.news-hero,.contact-hero{grid-template-columns:1fr}.news-search{max-width:32rem}.news-layout{grid-template-columns:1fr}.news-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.news-sidebar .news-newsletter{grid-column:1/-1}.contact-layout{grid-template-columns:1fr}.contact-aside{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-aside address{margin:0}.contact-hours,.contact-social{align-self:end}}
@media(max-width:767.98px){.news-page,.contact-page{padding-top:.75rem}.news-hero,.contact-hero{padding:2rem 1.25rem 1.25rem;border-radius:1.2rem}.news-featured-grid{grid-template-columns:1fr}.news-featured-card,.news-featured-lead{grid-column:auto;grid-template-columns:minmax(8rem,.65fr) 1fr}.news-grid{grid-template-columns:1fr}.news-section-heading{align-items:start;flex-direction:column;gap:.7rem}.news-sidebar{grid-template-columns:1fr}.news-sidebar .news-newsletter{grid-column:auto}.news-cta,.contact-bottom{align-items:flex-start;flex-direction:column}.contact-aside{display:block}.contact-aside address{margin:1.5rem 0}.contact-social{margin-top:1rem}}
@media(max-width:575.98px){.news-search button{font-size:0}.news-search button::after{content:"→";font-size:1rem}.news-featured-card,.news-featured-lead{grid-template-columns:1fr}.news-featured-card .news-media{min-height:0;aspect-ratio:16/10}.news-card-body footer{align-items:start;flex-direction:column;gap:.3rem}.contact-field-grid{grid-template-columns:1fr}.contact-submit{width:100%}}
/* Homepage editorial book showcase */
.home-books-section{padding:clamp(3.5rem,8vw,7rem) 0;background:linear-gradient(180deg,#f6f2e9 0%,#fbfaf7 100%)}
.home-books-shell{position:relative;overflow:hidden;padding:clamp(1.4rem,4vw,3.5rem);border:1px solid #e4dac8;border-radius:1.75rem;background:rgba(255,255,255,.78);box-shadow:0 22px 55px rgba(16,33,61,.08)}
.home-books-shell::before{content:"";position:absolute;top:-7rem;right:-7rem;width:18rem;height:18rem;border:1px solid rgba(180,131,44,.12);border-radius:50%;box-shadow:0 0 0 3rem rgba(180,131,44,.025),0 0 0 6rem rgba(180,131,44,.02);pointer-events:none}
.home-books-heading{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;padding-bottom:clamp(1.5rem,4vw,2.5rem);border-bottom:1px solid #e4e8ed}
.home-books-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#9a6a19;font-size:.73rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.home-books-kicker i{display:flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:.55rem;color:#d9b66e;background:#10213d}
.home-books-heading h2{max-width:42rem;margin:.8rem 0 0;color:#10213d;font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.02;letter-spacing:-.05em}.home-books-intro p{margin:0;color:#5a687b;font-size:.94rem;line-height:1.7}.home-books-intro>a{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;color:#895c14;font-size:.82rem;font-weight:850}.home-books-intro>a i{transition:transform .2s}.home-books-intro>a:hover i{transform:translateX(4px)}
.home-books-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:clamp(1.5rem,4vw,2.5rem)}
.home-book-card{display:flex;overflow:hidden;min-width:0;flex-direction:column;border:1px solid #dfe5ed;border-radius:1.15rem;background:#fff;box-shadow:0 10px 28px rgba(16,33,61,.065);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.home-book-card:hover{transform:translateY(-6px);border-color:rgba(190,143,57,.55);box-shadow:0 19px 40px rgba(16,33,61,.14)}
.home-book-cover{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#e8edf3}.home-book-cover::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(8,21,45,.25));pointer-events:none}.home-book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.home-book-card:hover .home-book-cover img{transform:scale(1.04)}
.home-book-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.65rem;color:#d9b66e;background:radial-gradient(circle at 75% 20%,#234b7b,#10213d 68%);font-size:2.4rem}.home-book-placeholder small{font-size:.64rem;font-weight:850;letter-spacing:.22em}.home-book-number{position:absolute;z-index:1;right:.75rem;bottom:.7rem;color:#fff;font-family:Georgia,serif;font-size:.75rem;font-weight:700}
.home-book-content{display:flex;flex:1;flex-direction:column;padding:1.15rem}.home-book-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#986a1e;font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.home-book-meta em{padding:.3rem .45rem;border-radius:999px;color:#fff;background:#174d3b;font-size:.58rem;font-style:normal;letter-spacing:.03em}.home-book-content h3{display:-webkit-box;overflow:hidden;min-height:2.85rem;margin:.6rem 0 .35rem;color:#10213d;font-size:1.08rem;line-height:1.3;letter-spacing:-.02em;-webkit-line-clamp:2;-webkit-box-orient:vertical}.home-book-content h3 a{color:inherit}.home-book-content h3 a:hover{color:#906117}.home-book-content>p{overflow:hidden;margin:0;color:#687589;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.home-book-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:1rem}.home-book-footer strong,.home-book-footer>span{color:#24463c;font-size:.82rem;font-weight:800}.home-book-footer>a{display:flex;width:2.25rem;height:2.25rem;flex:none;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#10213d;transition:color .2s,background .2s,transform .2s}.home-book-footer>a:hover{color:#10213d;background:#e0bb70;transform:translateX(2px)}
@media(max-width:991.98px){.home-books-heading{grid-template-columns:1fr}.home-books-intro{max-width:38rem}.home-books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.home-books-section{padding:3rem 0}.home-books-shell{border-radius:1.25rem}.home-books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.home-books-shell{padding:1.1rem}.home-books-heading h2{font-size:2rem}.home-books-grid{grid-template-columns:1fr}.home-book-card{display:grid;grid-template-columns:7.5rem 1fr}.home-book-cover{height:100%;min-height:12rem;aspect-ratio:auto}.home-book-content{padding:1rem}.home-book-content h3{min-height:auto}.home-book-number{right:.55rem;bottom:.5rem}.home-book-footer{padding-top:.75rem}}
/* Premium library book detail */
.book-detail-page{padding-top:1rem;padding-bottom:clamp(4rem,8vw,7rem)}.book-detail-breadcrumb{display:flex;overflow:hidden;align-items:center;gap:.65rem;padding:.8rem 0 1.2rem;color:#929baa;font-size:.73rem;white-space:nowrap}.book-detail-breadcrumb a{display:inline-flex;align-items:center;gap:.4rem;color:#59687b}.book-detail-breadcrumb a:hover{color:#916319}.book-detail-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis}
.book-detail-hero{display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.55fr);gap:clamp(2rem,7vw,6.5rem);align-items:start;padding:clamp(1.4rem,4vw,3.5rem);border:1px solid #e0e5ec;border-radius:1.75rem;background:linear-gradient(135deg,#f4f0e7 0%,#fff 48%,#f7f9fb 100%);box-shadow:0 22px 58px rgba(16,33,61,.09)}
.book-detail-visual{position:sticky;top:7rem}.book-detail-cover-wrap{position:relative;overflow:hidden;max-width:24rem;margin:auto;aspect-ratio:4/5;border-radius:.45rem 1rem 1rem .45rem;background:#10213d;box-shadow:-9px 10px 0 #d9b66e,0 24px 48px rgba(8,21,45,.24)}.book-detail-cover-wrap::after{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(90deg,rgba(0,0,0,.24),rgba(255,255,255,.13),transparent);pointer-events:none}.book-detail-cover-wrap img{width:100%;height:100%;object-fit:cover}.book-detail-cover-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:#d9b66e;background:radial-gradient(circle at 75% 20%,#274f7e,#10213d 68%);font-size:4rem}.book-detail-cover-placeholder span{font-size:.75rem;font-weight:850;letter-spacing:.35em}.book-detail-featured{position:absolute;right:.8rem;bottom:.8rem;padding:.45rem .65rem;border-radius:999px;color:#10213d;background:#e0bb70;font-size:.65rem;font-weight:850}.book-detail-purchase{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:24rem;margin:1.75rem auto 0;padding:1rem 0;border-top:1px solid #d9dee6;border-bottom:1px solid #d9dee6}.book-detail-purchase strong,.book-detail-purchase del{display:block}.book-detail-purchase strong{color:#10213d;font-size:1.25rem}.book-detail-purchase del{color:#8a94a2;font-size:.72rem}.book-detail-purchase>span{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800}.book-detail-purchase .available{color:#1c654c}.book-detail-purchase .unavailable{color:#9f3d3d}.book-detail-purchase .preorder{color:#875d15}
.book-detail-intro{padding-top:.4rem}.book-detail-labels{display:flex;flex-wrap:wrap;gap:.5rem}.book-detail-labels span,.book-detail-labels em{padding:.42rem .65rem;border-radius:999px;font-size:.66rem;font-weight:850;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.book-detail-labels span{color:#8e6119;background:#f3e7ce}.book-detail-labels em{color:#fff;background:#174d3b}.book-detail-intro h1{max-width:52rem;margin:1rem 0 .5rem;color:#10213d;font-size:clamp(2.45rem,6vw,5.2rem);line-height:.98;letter-spacing:-.057em}.book-detail-subtitle{max-width:42rem;margin:0;color:#687589;font-family:Georgia,serif;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55}.book-detail-authors{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:1.35rem;color:#7c8796;font-size:.85rem}.book-detail-authors a{color:#8a5e17;font-weight:850}.book-detail-authors i{color:#c0c6cf;font-style:normal}.book-detail-rating{display:flex;align-items:center;gap:.65rem;margin-top:1.3rem}.book-detail-rating>div{color:#d19d3d}.book-detail-rating strong{color:#10213d}.book-detail-rating span{color:#778293;font-size:.75rem}.book-detail-lead{max-width:48rem;margin-top:1.75rem;padding:1.35rem 0;border-top:1px solid #dce2ea;border-bottom:1px solid #dce2ea;color:#45546a;font-family:Georgia,serif;font-size:1rem;line-height:1.85}.book-detail-lead p:last-child{margin-bottom:0}
.book-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.5rem 0 0}.book-detail-facts>div{padding:.8rem;border-radius:.75rem;background:rgba(255,255,255,.7)}.book-detail-facts dt{color:#8993a2;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.book-detail-facts dd{overflow:hidden;margin:.25rem 0 0;color:#263851;font-size:.78rem;font-weight:750;text-overflow:ellipsis}.book-detail-taxonomy{display:grid;gap:.75rem;margin-top:1.25rem}.book-detail-taxonomy>div{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.book-detail-taxonomy>div>span{min-width:5rem;color:#7c8796;font-size:.68rem;font-weight:800;text-transform:uppercase}.book-detail-taxonomy a,.book-detail-taxonomy em{padding:.35rem .55rem;border-radius:999px;color:#735019;background:#f4e8d2;font-size:.68rem;font-style:normal}
.book-detail-reading,.book-detail-reviews,.book-detail-related{margin-top:clamp(3.5rem,8vw,7rem)}.book-detail-section-heading{margin-bottom:1.5rem}.book-detail-kicker{color:#9b6b1b;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.book-detail-section-heading h2{margin:.45rem 0 0;color:#10213d;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em}.book-detail-reading{display:grid;grid-template-columns:minmax(14rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,8vw,7rem);padding:clamp(2rem,5vw,4rem);border-radius:1.5rem;color:#fff;background:#10213d}.book-detail-reading .book-detail-kicker{color:#d9b66e}.book-detail-reading h2{color:#fff}.book-detail-prose{color:rgba(255,255,255,.78);font-family:Georgia,serif;font-size:1.02rem;line-height:1.9}.book-detail-prose p:last-child{margin-bottom:0}
.book-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.book-review-grid>article{padding:1.4rem;border:1px solid #dfe5ed;border-radius:1.15rem;background:#fff;box-shadow:0 10px 30px rgba(16,33,61,.06)}.book-review-grid header{display:grid;grid-template-columns:2.6rem 1fr auto;gap:.7rem;align-items:center}.book-review-grid header>span{display:flex;width:2.6rem;height:2.6rem;align-items:center;justify-content:center;border-radius:50%;color:#d9b66e;background:#10213d;font-family:Georgia,serif}.book-review-grid header strong,.book-review-grid header small{display:block}.book-review-grid header strong{color:#10213d;font-size:.8rem}.book-review-grid header small{color:#8a94a3;font-size:.64rem}.book-review-stars{color:#d09a37;font-size:.72rem}.book-review-grid h3{margin:1rem 0 .45rem;color:#10213d;font-size:1rem}.book-review-copy{color:#5d697a;font-size:.86rem;line-height:1.65}.book-review-grid footer{display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #edf0f4}.book-review-grid footer p{display:flex;gap:.6rem;margin:0;color:#687486;font-size:.75rem}.book-review-grid footer p>span{display:grid}.book-review-grid footer strong{color:#34445a}.book-review-grid .positive>i{color:#287156}.book-review-grid .negative>i{color:#a14a4a}
.book-detail-section-heading-split{display:flex;align-items:end;justify-content:space-between;gap:2rem}.book-detail-section-heading-split>a{display:inline-flex;align-items:center;gap:.5rem;color:#8d6118;font-size:.8rem;font-weight:850}.book-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.book-related-grid>article{overflow:hidden;border:1px solid #dfe5ed;border-radius:1.1rem;background:#fff;box-shadow:0 9px 28px rgba(16,33,61,.06);transition:transform .25s,box-shadow .25s}.book-related-grid>article:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(16,33,61,.12)}.book-related-cover{display:block;overflow:hidden;aspect-ratio:4/5;background:#10213d}.book-related-cover img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.book-related-grid>article:hover img{transform:scale(1.04)}.book-related-cover>span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#d9b66e;font-size:2rem}.book-related-grid>article>div{padding:1rem}.book-related-grid>article>div>span{color:#976819;font-size:.62rem;font-weight:850;text-transform:uppercase}.book-related-grid h3{margin:.45rem 0;color:#10213d;font-size:1rem;line-height:1.3}.book-related-grid h3 a{color:inherit}.book-related-grid p{margin:0;color:#727e8f;font-size:.72rem}.book-related-grid footer{display:flex;align-items:center;justify-content:space-between;margin-top:.85rem}.book-related-grid footer strong{display:inline-flex;align-items:center;min-height:1.9rem;padding:.35rem .6rem;border:1px solid #bfd8cc;border-radius:999px;color:#174d3b!important;background:#e9f4ef!important;font-size:.76rem;font-weight:850;line-height:1.1}.book-related-grid footer a{display:flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#10213d;font-size:.7rem}
@media(max-width:991.98px){.book-detail-hero{grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr);gap:2.5rem}.book-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.book-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.book-detail-hero{grid-template-columns:1fr}.book-detail-visual{position:static}.book-detail-cover-wrap{max-width:18rem}.book-detail-purchase{max-width:18rem}.book-detail-intro h1{font-size:2.65rem}.book-detail-reading{grid-template-columns:1fr;gap:1rem}.book-review-grid{grid-template-columns:1fr}.book-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.book-detail-hero{padding:1.15rem;border-radius:1.15rem}.book-detail-cover-wrap{max-width:14rem}.book-detail-purchase{max-width:14rem;align-items:flex-start;flex-direction:column}.book-detail-facts{grid-template-columns:1fr 1fr}.book-detail-section-heading-split{align-items:flex-start;flex-direction:column;gap:.75rem}.book-related-grid{grid-template-columns:1fr}.book-related-grid>article{display:grid;grid-template-columns:7.5rem 1fr}.book-related-cover{height:100%;min-height:12rem;aspect-ratio:auto}}
/* Premium library author detail */
.author-detail-page{padding-top:1rem;padding-bottom:clamp(4rem,8vw,7rem)}.author-detail-breadcrumb{display:flex;overflow:hidden;align-items:center;gap:.65rem;padding:.8rem 0 1.2rem;color:#929baa;font-size:.73rem;white-space:nowrap}.author-detail-breadcrumb a{display:inline-flex;align-items:center;gap:.4rem;color:#59687b}.author-detail-breadcrumb a:hover{color:#916319}.author-detail-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis}
.author-detail-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.45fr);gap:clamp(2rem,7vw,6rem);align-items:center;padding:clamp(1.4rem,4vw,3.5rem);border-radius:1.75rem;color:#fff;background:radial-gradient(circle at 90% 12%,rgba(211,169,83,.25),transparent 31%),linear-gradient(135deg,#08152d,#10264b 62%,#17345f);box-shadow:0 24px 58px rgba(8,21,45,.18)}.author-detail-hero::after{content:"";position:absolute;z-index:-1;right:-6rem;bottom:-8rem;width:20rem;height:20rem;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,255,255,.025),0 0 0 6rem rgba(255,255,255,.02)}
.author-detail-portrait-wrap{position:relative;overflow:hidden;max-width:24rem;margin:auto;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.15);border-radius:1.15rem;background:#17345f;box-shadow:-10px 10px 0 #d9b66e,0 24px 48px rgba(0,0,0,.24)}.author-detail-portrait-wrap::after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,rgba(8,21,45,.7));pointer-events:none}.author-detail-portrait-wrap img{width:100%;height:100%;object-fit:cover}.author-detail-portrait-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;color:#d9b66e;background:radial-gradient(circle at 70% 20%,#2a5588,#10213d 68%)}.author-detail-portrait-placeholder span{font-family:Georgia,serif;font-size:6rem}.author-detail-portrait-placeholder small{font-size:.65rem;font-weight:850;letter-spacing:.22em;text-transform:uppercase}.author-detail-portrait-number{position:absolute;z-index:1;right:1rem;bottom:.85rem;color:rgba(255,255,255,.8);font-size:.65rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.author-detail-intro{max-width:55rem}.author-detail-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#d9b66e;font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.author-detail-intro h1{margin:1rem 0 .7rem;color:#fff;font-size:clamp(2.75rem,7vw,6rem);line-height:.94;letter-spacing:-.06em}.author-detail-origin{display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:rgba(255,255,255,.66);font-size:.75rem}.author-detail-origin span{display:inline-flex;align-items:center;gap:.4rem}.author-detail-deck{max-width:46rem;margin:1.6rem 0 0;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.8);font-family:Georgia,serif;font-size:clamp(1rem,2vw,1.2rem);line-height:1.75}.author-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem}.author-detail-stats article{padding:.6rem 1rem;border-right:1px solid rgba(255,255,255,.15)}.author-detail-stats article:first-child{padding-left:0}.author-detail-stats article:last-child{border:0}.author-detail-stats strong,.author-detail-stats span{display:block}.author-detail-stats strong{color:#fff;font-size:1.5rem}.author-detail-stats span{margin-top:.15rem;color:rgba(255,255,255,.55);font-size:.65rem;text-transform:uppercase}.author-detail-cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.5rem;padding:.75rem 1rem;border-radius:.7rem;color:#10213d;background:#e0bb70;font-size:.78rem;font-weight:850}.author-detail-cta:hover{color:#10213d;background:#ebca89}.author-detail-cta i{transition:transform .2s}.author-detail-cta:hover i{transform:translateY(3px)}
.author-detail-story,.author-detail-books{margin-top:clamp(3.5rem,8vw,7rem)}.author-detail-story{display:grid;grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,8vw,7rem);padding:clamp(2rem,5vw,4rem);border:1px solid #e0e5ec;border-radius:1.5rem;background:#f6f3ed}.author-detail-story .author-detail-kicker,.author-detail-books .author-detail-kicker{color:#99691b}.author-detail-story-heading h2,.author-detail-section-heading h2{margin:.55rem 0 0;color:#10213d;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.045em}.author-detail-story-content{display:grid;gap:1.25rem}.author-detail-biography h3{margin:0 0 .8rem;color:#10213d;font-size:1rem}.author-detail-biography>div{color:#46566b;font-family:Georgia,serif;font-size:1rem;line-height:1.9}.author-detail-biography>div p:last-child{margin-bottom:0}.author-detail-story-content aside{padding:1.25rem;border-left:3px solid #d3a953;border-radius:0 1rem 1rem 0;background:#fff}.author-detail-story-content aside>i{color:#b27c22;font-size:1.2rem}.author-detail-story-content aside>span{display:block;margin:.5rem 0;color:#10213d;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.author-detail-story-content aside>div{color:#647185;font-size:.84rem;line-height:1.65}
.author-detail-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.author-detail-section-heading>span{padding:.5rem .75rem;border:1px solid #dce3ec;border-radius:999px;color:#657185;background:#fff;font-size:.72rem;font-weight:750}.author-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.author-book-card{display:flex;overflow:hidden;min-width:0;flex-direction:column;border:1px solid #dfe5ed;border-radius:1.15rem;background:#fff;box-shadow:0 10px 30px rgba(16,33,61,.06);transition:transform .25s,box-shadow .25s}.author-book-card:hover{transform:translateY(-5px);box-shadow:0 19px 40px rgba(16,33,61,.13)}.author-book-cover{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#10213d}.author-book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.author-book-card:hover img{transform:scale(1.04)}.author-book-cover>span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;color:#d9b66e;font-size:2.2rem}.author-book-cover>span small{font-size:.62rem;font-weight:850;letter-spacing:.2em}.author-book-cover>em{position:absolute;top:.7rem;left:.7rem;padding:.4rem .55rem;border-radius:999px;color:#10213d;background:#e0bb70;font-size:.62rem;font-weight:850;font-style:normal}.author-book-content{display:flex;flex:1;flex-direction:column;padding:1.1rem}.author-book-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#99691b;font-size:.62rem;font-weight:850;text-transform:uppercase}.author-book-meta time{color:#8792a1}.author-book-content h3{margin:.55rem 0 .4rem;color:#10213d;font-size:1.05rem;line-height:1.3}.author-book-content h3 a{color:inherit}.author-book-content>p{display:-webkit-box;overflow:hidden;margin:0;color:#697589;font-size:.75rem;line-height:1.55;-webkit-line-clamp:3;-webkit-box-orient:vertical}.author-book-content footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1rem}.author-book-content footer strong,.author-book-content footer>span{color:#24463c;font-size:.78rem;font-weight:800}.author-book-content footer>a{display:flex;width:2.1rem;height:2.1rem;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#10213d;font-size:.7rem}.author-detail-empty{margin-top:clamp(3.5rem,8vw,7rem);padding:clamp(2.5rem,7vw,5rem);border:1px dashed #cbd5e1;border-radius:1.25rem;text-align:center;color:#657185;background:#f8fafc}.author-detail-empty>i{color:#b27c22;font-size:2.2rem}.author-detail-empty h2{margin:1rem 0 .4rem;color:#10213d}.author-detail-empty p{margin:0}.author-detail-empty a{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:#8d6118;font-weight:850}
@media(max-width:991.98px){.author-detail-hero{grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr);gap:2.5rem}.author-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.author-detail-hero{grid-template-columns:1fr}.author-detail-portrait-wrap{max-width:18rem}.author-detail-intro{text-align:center}.author-detail-origin,.author-detail-stats{justify-content:center}.author-detail-deck{margin-right:auto;margin-left:auto;text-align:left}.author-detail-story{grid-template-columns:1fr;gap:1.5rem}.author-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.author-detail-hero{padding:1.15rem;border-radius:1.15rem}.author-detail-portrait-wrap{max-width:14rem}.author-detail-intro h1{font-size:2.8rem}.author-detail-stats article{padding:.5rem}.author-detail-stats strong{font-size:1.2rem}.author-detail-stats span{font-size:.55rem}.author-detail-section-heading{align-items:flex-start;flex-direction:column;gap:.7rem}.author-book-grid{grid-template-columns:1fr}.author-book-card{display:grid;grid-template-columns:7.5rem 1fr}.author-book-cover{height:100%;min-height:12rem;aspect-ratio:auto}}

/* Keep portrait book artwork fully visible inside every card. */
.catalog-book-cover img,
.home-book-cover img,
.service-book-cover img,
.book-related-cover img,
.author-book-cover img,
.book-detail-cover-wrap img,
.public-app .book-cover {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: clamp(.35rem, 1vw, .75rem);
  object-fit: contain;
  object-position: center;
  background: #f3f0e8;
}

@media (max-width: 575.98px) {
  .catalog-featured-book .catalog-book-cover {
    aspect-ratio: 4 / 5;
    max-height: 32rem;
  }
}

/* Front/back book presentation */
.catalog-book-cover .catalog-cover-front,
.catalog-book-cover .catalog-cover-back {
  transform: translateX(0);
  transition: transform .65s cubic-bezier(.22, .75, .2, 1);
}
.catalog-book-cover .catalog-cover-back {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: translateX(100%);
}
.catalog-book-cover:hover .catalog-cover-front,
.catalog-book-cover:focus .catalog-cover-front,
.catalog-book-cover.show-back .catalog-cover-front { transform: translateX(-100%); }
.catalog-book-cover:hover .catalog-cover-back,
.catalog-book-cover:focus .catalog-cover-back,
.catalog-book-cover.show-back .catalog-cover-back { transform: translateX(0); }
.catalog-cover-hint {
  position: absolute;
  z-index: 3;
  right: .65rem;
  bottom: .65rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .4rem .55rem;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  color: #fff;
  background: rgba(8, 21, 45, .82);
  backdrop-filter: blur(8px);
  font-size: .6rem;
  font-weight: 800;
  transition: opacity .25s ease, transform .25s ease;
}
.catalog-book-cover:hover .catalog-cover-hint,
.catalog-book-cover:focus .catalog-cover-hint,
.catalog-book-cover.show-back .catalog-cover-hint {
  opacity: 0;
  transform: translateY(4px);
}
.book-detail-cover-viewer { max-width: 24rem; margin: auto; }
.book-detail-cover-viewer .book-detail-cover-wrap { margin: 0; }
.book-cover-track {
  display: flex;
  width: 200%;
  height: 100%;
  transform: translateX(0);
  transition: transform .7s cubic-bezier(.22, .75, .2, 1);
}
.book-detail-cover-viewer.show-back .book-cover-track { transform: translateX(-50%); }
.book-cover-slide {
  flex: 0 0 50%;
  width: 50%;
  height: 100%;
}
.book-cover-slide > img,
.book-cover-slide > .book-detail-cover-placeholder { width: 100%; height: 100%; }
.book-cover-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 1.5rem;
  margin-top: .65rem;
}
.book-cover-dots span {
  display: block;
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  background: #b9c0ca;
  transition: width .3s ease, background .3s ease;
}
.book-cover-dots span.is-active {
  width: 1.35rem;
  background: #10213d;
}
@media (prefers-reduced-motion: reduce) {
  .catalog-book-cover .catalog-cover-front,
  .catalog-book-cover .catalog-cover-back,
  .catalog-cover-hint,
  .book-cover-track,
  .book-cover-dots span { transition: none; }
}

/* Consistent responsive frames for editorial photography. */
.catalog-collection-media,
.home-collection-media,
.post-image-wrap,
.category-post-media {
  position: relative;
  overflow: hidden;
  background: #e8edf3;
}
.catalog-collection-media img,
.home-collection-media img,
.post-image-wrap img,
.category-post-media img,
.news-media img,
.news-popular-list img,
.article-related-list img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  background: #f3f0e8;
}
.category-post-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: .85rem;
}
.collection-page-image {
  display: block;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: contain;
  object-position: center;
  background: #f3f0e8;
}
.collection-page-image-lg { height: auto; aspect-ratio: 16 / 9; }
.collection-detail-image {
  display: block;
  min-height: 0;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  background: #f3f0e8;
}
.catalog-author-portrait img,
.author-detail-portrait-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.service-client-grid img {
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}
.public-app img { vertical-align: middle; }

.home-collection-card:hover .home-collection-media img,
.catalog-featured-collection:hover .catalog-collection-media img,
.catalog-collection-card:hover .catalog-collection-media img,
.modern-post-card:hover .post-image-wrap img,
.news-featured-card:hover .news-media img,
.news-card:hover .news-media img {
  transform: none;
}

/* Homepage editorial cards: full-bleed imagery without letterboxing. */
.featured-posts-section .modern-post-card {
  border-color: rgba(17, 38, 57, .1);
  box-shadow: 0 16px 38px rgba(17, 38, 57, .08);
}
.featured-posts-section .post-image-wrap {
  aspect-ratio: 16 / 10;
  background: #dfe8e6;
}
.featured-posts-section .post-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: transparent;
  transition: transform .55s ease;
}
.featured-posts-section .modern-post-card:hover .post-image-wrap img {
  transform: scale(1.035);
}

@media (prefers-reduced-motion: reduce) {
  .featured-posts-section .post-image-wrap img {
    transition: none;
  }

  .featured-posts-section .modern-post-card:hover .post-image-wrap img {
    transform: none;
  }
}

@media (max-width: 767.98px) {
  .category-post-media { margin-bottom: 1rem; aspect-ratio: 16 / 10; }
  .collection-detail-image { aspect-ratio: 16 / 10; }
}
/* Modern public footer */
.site-footer{position:relative;overflow:hidden;margin-top:clamp(3.5rem,8vw,7rem);padding:0 0 1.25rem;color:#fff;background:radial-gradient(circle at 8% 90%,rgba(36,79,125,.38),transparent 32%),#08152d}.site-footer::after{content:"";position:absolute;right:-8rem;bottom:-10rem;width:24rem;height:24rem;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 4rem rgba(255,255,255,.015),0 0 0 8rem rgba(255,255,255,.01);pointer-events:none}.site-footer>.container{position:relative;z-index:1}
.site-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,3.75rem) 0;border-bottom:1px solid rgba(255,255,255,.12)}.site-footer-cta span{color:#d9b66e;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.site-footer-cta h2{margin:.5rem 0 0;color:#fff;font-size:clamp(1.8rem,4vw,3.25rem);letter-spacing:-.045em}.site-footer-cta>a{display:inline-flex;flex:none;align-items:center;gap:.65rem;padding:.85rem 1.15rem;border-radius:.75rem;color:#10213d;background:#e0bb70;font-size:.82rem;font-weight:850}.site-footer-cta>a:hover{color:#10213d;background:#edcc8c}.site-footer-cta>a i{transition:transform .2s}.site-footer-cta>a:hover i{transform:translateX(4px)}
.site-footer-main{display:grid;grid-template-columns:minmax(15rem,1.1fr) minmax(22rem,1.55fr) minmax(15rem,.85fr);gap:clamp(2rem,5vw,4.5rem);padding:clamp(2.5rem,6vw,4.5rem) 0}.site-footer-logo{display:flex;align-items:center;gap:.8rem;width:fit-content;color:#fff}.site-footer-logo:hover{color:#fff}.site-footer-logo>span{display:flex;overflow:hidden;width:3.2rem;height:3.2rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:.8rem;background:#fff}.site-footer-logo img{width:100%;height:100%;object-fit:cover}.site-footer-logo strong,.site-footer-logo small{display:block}.site-footer-logo strong{color:#fff;font-size:1rem}.site-footer-logo small{margin-top:.1rem;color:rgba(255,255,255,.5);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.site-footer-brand>p{max-width:25rem;margin:1.25rem 0;color:rgba(255,255,255,.65);font-size:.84rem;line-height:1.75}.site-footer-brand address{display:grid;gap:.5rem;margin:0;font-style:normal}.site-footer-brand address a,.site-footer-brand address span{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.7);font-size:.75rem}.site-footer-brand address i{width:1rem;color:#d9b66e}.site-footer-social{display:flex;gap:.4rem;margin-top:1.25rem}.site-footer-social a{display:flex;width:2.35rem;height:2.35rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;color:rgba(255,255,255,.76);background:rgba(255,255,255,.035)}.site-footer-social a:hover{border-color:#d9b66e;color:#10213d;background:#d9b66e;transform:translateY(-2px)}
.site-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.site-footer-nav>div{display:flex;align-items:flex-start;flex-direction:column}.site-footer-nav h3,.site-footer-newsletter h3{margin:0 0 1rem;color:#fff;font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.site-footer-nav h3::after{content:"";display:block;width:1.6rem;height:2px;margin-top:.65rem;background:#d3a953}.site-footer-nav a{position:relative;margin:.38rem 0;color:rgba(255,255,255,.62);font-size:.78rem;transition:color .2s,transform .2s}.site-footer-nav a:hover{color:#e3bd72;transform:translateX(3px)}
.site-footer-newsletter{padding:1.3rem;border:1px solid rgba(255,255,255,.12);border-radius:1.15rem;background:rgba(255,255,255,.045)}.site-footer-newsletter>span{display:inline-flex;align-items:center;gap:.45rem;color:#d9b66e;font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.site-footer-newsletter h3{margin:.75rem 0 .55rem;font-size:1rem;letter-spacing:0;text-transform:none}.site-footer-newsletter>p{margin:0;color:rgba(255,255,255,.6);font-size:.75rem;line-height:1.55}.site-footer-newsletter form{display:grid;grid-template-columns:1fr 2.5rem;margin-top:1rem;padding:.25rem;border-radius:.7rem;background:#fff}.site-footer-newsletter input{min-width:0;padding:.58rem;border:0;outline:0;color:#10213d;background:transparent;font-size:.72rem}.site-footer-newsletter button{border:0;border-radius:.5rem;color:#10213d;background:#e0bb70}.site-footer-newsletter>small{display:flex;align-items:center;gap:.4rem;margin-top:.7rem;color:rgba(255,255,255,.42);font-size:.6rem}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1)}.site-footer-bottom p{margin:0;color:rgba(255,255,255,.48);font-size:.67rem}.site-footer-bottom p strong{color:rgba(255,255,255,.75)}.site-footer-bottom>div{display:flex;align-items:center;gap:1rem}.site-footer-bottom a,.site-footer-bottom span{color:rgba(255,255,255,.48);font-size:.67rem}.site-footer-bottom a:hover{color:#d9b66e}.site-footer-bottom span{padding-left:1rem;border-left:1px solid rgba(255,255,255,.12)}
@media(max-width:991.98px){.site-footer-main{grid-template-columns:1fr 1.4fr}.site-footer-newsletter{grid-column:1/-1}.site-footer-newsletter form{max-width:30rem}}
@media(max-width:767.98px){.site-footer-cta{align-items:flex-start;flex-direction:column}.site-footer-main{grid-template-columns:1fr}.site-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer-newsletter{grid-column:auto}.site-footer-bottom{align-items:flex-start;flex-direction:column;gap:.7rem}}
@media(max-width:575.98px){.site-footer{margin-top:3.5rem}.site-footer-nav{grid-template-columns:1fr 1fr;gap:2rem 1rem}.site-footer-nav>div:last-child{grid-column:1/-1}.site-footer-bottom>div{align-items:flex-start;flex-direction:column;gap:.45rem}.site-footer-bottom span{padding-left:0;border:0}}

/* Book purchasing and Mobile Money checkout */
.book-detail-buy-actions{display:grid;gap:.85rem;max-width:24rem;margin:1rem auto 0}.book-detail-buy-primary{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.9rem 1rem;border-radius:.85rem;color:#10213d;background:#e0bb70;box-shadow:0 10px 24px rgba(166,117,33,.18);font-weight:850}.book-detail-buy-primary:hover{color:#10213d;background:#ebca88;transform:translateY(-2px)}.book-detail-buy-primary>i{font-size:1.15rem}.book-detail-buy-primary span,.book-detail-buy-primary small{display:block}.book-detail-buy-primary small{margin-top:.1rem;font-size:.62rem;font-weight:650;opacity:.72}.book-detail-marketplaces{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.book-detail-marketplaces>span{width:100%;color:#6c7788;font-size:.65rem;font-weight:750;text-transform:uppercase}.book-detail-marketplaces a{padding:.48rem .7rem;border:1px solid #dbe1e9;border-radius:.6rem;color:#10213d;background:#fff;font-size:.72rem;font-weight:800}.book-detail-marketplaces a:hover{border-color:#b78937;color:#815819}.book-detail-marketplaces i{margin-left:.25rem;font-size:.6rem}
.checkout-page{padding-top:clamp(1rem,3vw,2.5rem);padding-bottom:clamp(3rem,7vw,6rem)}.checkout-back{display:inline-flex;align-items:center;gap:.45rem;color:#6a7586;font-size:.78rem;font-weight:750}.checkout-heading{max-width:48rem;margin:clamp(1.75rem,4vw,3.5rem) 0 2rem}.checkout-heading>span{color:#9b6b1e;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.checkout-heading h1{margin:.55rem 0;color:#10213d;font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.05em}.checkout-heading p{margin:0;color:#59677a;line-height:1.7}.checkout-layout{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(1.25rem,4vw,3.5rem);align-items:start}.checkout-summary,.checkout-form{border:1px solid #dfe5ed;border-radius:1.35rem;background:#fff;box-shadow:0 15px 42px rgba(16,33,61,.08)}.checkout-summary{position:sticky;top:7rem;overflow:hidden}.checkout-book{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:1.25rem;background:#10213d}.checkout-book img,.checkout-book>span{display:flex;width:6rem;aspect-ratio:4/5;align-items:center;justify-content:center;object-fit:cover;border-radius:.55rem;color:#d9b66e;background:#24466f}.checkout-book small{color:#d9b66e;font-size:.62rem;font-weight:800;text-transform:uppercase}.checkout-book h2{margin:.4rem 0;color:#fff;font-size:1rem;line-height:1.35}.checkout-book p{margin:0;color:rgba(255,255,255,.7);font-size:.75rem}.checkout-payment-number{padding:1.35rem;border-bottom:1px solid #e7ebf0}.checkout-payment-number span{display:block;color:#7b8695;font-size:.65rem;font-weight:800;text-transform:uppercase}.checkout-payment-number strong{display:block;margin:.3rem 0;color:#10213d;font-size:1.55rem}.checkout-payment-number p{margin:0;color:#667286;font-size:.75rem;line-height:1.6}.checkout-promises{display:grid;gap:1rem;margin:0;padding:1.35rem;list-style:none}.checkout-promises li{display:grid;grid-template-columns:2.4rem 1fr;gap:.8rem}.checkout-promises i{display:flex;width:2.4rem;height:2.4rem;align-items:center;justify-content:center;border-radius:.7rem;color:#9b6b1e;background:#f8efdd}.checkout-promises strong,.checkout-promises span{display:block}.checkout-promises strong{color:#10213d;font-size:.8rem}.checkout-promises span{color:#677386;font-size:.7rem;line-height:1.5}.checkout-form{padding:clamp(1.25rem,4vw,2.25rem)}.checkout-step{display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;margin-bottom:1rem}.checkout-step>span{display:flex;width:2.2rem;height:2.2rem;align-items:center;justify-content:center;border-radius:50%;color:#10213d;background:#e0bb70;font-size:.65rem;font-weight:900}.checkout-step h2{margin:0;color:#10213d;font-size:1.15rem}.checkout-step p{margin:.2rem 0 0;color:#748093;font-size:.72rem}.checkout-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:2rem}.checkout-providers input{position:absolute;opacity:0}.checkout-providers label>span{display:flex;align-items:center;gap:.55rem;padding:.85rem;border:1px solid #dbe1e9;border-radius:.75rem;color:#34445a;cursor:pointer}.checkout-providers input:checked+span{border-color:#b27c22;outline:2px solid rgba(178,124,34,.12);color:#10213d;background:#fdf8ee}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkout-fields label{display:grid;gap:.38rem;color:#34445a;font-size:.72rem;font-weight:800}.checkout-fields label small{font-weight:500;color:#8893a2}.checkout-fields .wide{grid-column:1/-1}.checkout-fields input,.checkout-fields textarea,.checkout-fields select{width:100%;padding:.75rem .8rem;border:1px solid #d7dee7;border-radius:.65rem;outline:0;color:#10213d;background:#fff;font:inherit;font-weight:500}.checkout-fields input:focus,.checkout-fields textarea:focus,.checkout-fields select:focus{border-color:#b27c22;box-shadow:0 0 0 3px rgba(178,124,34,.1)}.checkout-trap{position:absolute!important;left:-9999px!important}.checkout-consent{display:flex;gap:.6rem;margin:1.25rem 0;color:#59677a;font-size:.72rem;line-height:1.5}.checkout-consent input{margin-top:.2rem}.checkout-submit{display:flex;width:100%;align-items:center;justify-content:space-between;padding:.95rem 1.1rem;border:0;border-radius:.75rem;color:#fff;background:#10213d;font-size:.8rem;font-weight:850}.checkout-submit:hover{background:#17365e}.checkout-disclaimer{display:flex;gap:.45rem;margin:.8rem 0 0;color:#7b8695;font-size:.65rem;line-height:1.5}.order-confirmation-page{display:grid;min-height:70vh;place-items:center;padding-top:3rem;padding-bottom:5rem}.order-confirmation-card{max-width:46rem;padding:clamp(1.5rem,5vw,3.5rem);border:1px solid #dfe5ed;border-radius:1.5rem;text-align:center;background:#fff;box-shadow:0 22px 60px rgba(16,33,61,.1)}.order-confirmation-icon{display:flex;width:4rem;height:4rem;margin:0 auto 1rem;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#237056;font-size:1.4rem}.order-confirmation-card>span{color:#92641b;font-size:.68rem;font-weight:850;text-transform:uppercase}.order-confirmation-card h1{margin:.5rem 0;color:#10213d;font-size:clamp(2rem,5vw,3.4rem)}.order-confirmation-card>p{color:#617084}.order-confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:1.7rem 0;background:#e1e6ed}.order-confirmation-details>div{padding:1rem;background:#f7f9fb}.order-confirmation-details span,.order-confirmation-details strong{display:block}.order-confirmation-details span{color:#7b8695;font-size:.62rem;text-transform:uppercase}.order-confirmation-details strong{margin-top:.25rem;color:#10213d;font-size:.82rem}.order-next{text-align:left}.order-next h2{color:#10213d;font-size:1rem}.order-next ol{margin:0;padding-left:1.2rem;color:#59677a;font-size:.78rem;line-height:1.8}.order-confirmation-actions{display:flex;justify-content:center;gap:.65rem;margin-top:1.5rem}.order-confirmation-actions a{padding:.7rem .9rem;border:1px solid #10213d;border-radius:.65rem;color:#10213d;font-size:.72rem;font-weight:800}.order-confirmation-actions a:first-child{color:#fff;background:#10213d}
@media(max-width:767.98px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}.checkout-providers{grid-template-columns:1fr 1fr}.book-detail-buy-actions{max-width:18rem}.order-confirmation-actions{align-items:stretch;flex-direction:column}}
@media(max-width:575.98px){.checkout-fields{grid-template-columns:1fr}.checkout-fields .wide{grid-column:auto}.checkout-providers{grid-template-columns:1fr}.book-detail-buy-actions{max-width:14rem}.order-confirmation-details{grid-template-columns:1fr}.order-confirmation-actions a{display:block}.checkout-book{grid-template-columns:5rem 1fr}.checkout-book img,.checkout-book>span{width:5rem}}

/* Homepage impact statistics */
.home-impact{padding:clamp(2.25rem,5vw,4.5rem) 0}.home-impact-panel{position:relative;isolation:isolate;overflow:hidden;padding:clamp(1.5rem,4vw,3.5rem);border-radius:1.75rem;color:#fff;background:radial-gradient(circle at 92% 5%,rgba(224,187,112,.2),transparent 30%),linear-gradient(135deg,#08152d,#10264b 58%,#173b67);box-shadow:0 28px 65px rgba(8,21,45,.2)}.home-impact-panel::before{content:"";position:absolute;z-index:-1;right:-8rem;top:-10rem;width:27rem;height:27rem;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 4rem rgba(255,255,255,.018),0 0 0 8rem rgba(255,255,255,.012)}.home-impact-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding-bottom:clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid rgba(255,255,255,.13)}.home-impact-eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:#e0bb70;font-size:.7rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.home-impact-heading h2{margin:.7rem 0 0;color:#fff;font-size:clamp(2rem,4.5vw,3.75rem);line-height:1.02;letter-spacing:-.05em}.home-impact-heading>p{max-width:25rem;margin:0;color:rgba(255,255,255,.66);font-size:.88rem;line-height:1.7}.home-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.home-impact-card{position:relative;display:flex;min-width:0;min-height:19rem;flex-direction:column;padding:clamp(1.25rem,2.5vw,2rem);border-right:1px solid rgba(255,255,255,.12);color:#fff;transition:background .3s,transform .3s}.home-impact-card:last-child{border-right:0}.home-impact-card:hover{color:#fff;background:rgba(255,255,255,.055);transform:translateY(-5px)}.home-impact-index{color:rgba(255,255,255,.34);font-size:.62rem;font-weight:850;letter-spacing:.12em}.home-impact-icon{position:absolute;top:1.5rem;right:1.5rem;display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:1px solid rgba(224,187,112,.25);border-radius:.8rem;color:#e0bb70;background:rgba(224,187,112,.08)}.home-impact-value{display:flex;align-items:flex-start;margin-top:auto;color:#fff;line-height:1}.home-impact-value strong{font-size:clamp(3rem,5vw,5rem);font-weight:750;letter-spacing:-.08em}.home-impact-value sup{margin:.35rem 0 0 .2rem;color:#e0bb70;font-size:1.2rem}.home-impact-label{display:block;margin-top:.75rem}.home-impact-label strong,.home-impact-label small{display:block}.home-impact-label strong{color:#fff;font-size:.86rem}.home-impact-label small{margin-top:.28rem;color:rgba(255,255,255,.52);font-size:.67rem;line-height:1.45}.home-impact-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;color:#e0bb70;font-size:.66rem;font-weight:800;text-transform:uppercase}.home-impact-link i{transition:transform .2s}.home-impact-card:hover .home-impact-link i{transform:translateX(4px)}.home-impact-footnote{display:flex;align-items:center;gap:.8rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.13)}.home-impact-footnote span{width:2rem;height:2px;background:#e0bb70}.home-impact-footnote p{margin:0;color:rgba(255,255,255,.5);font-size:.65rem;letter-spacing:.05em}
.home-impact:not(.is-visible) .home-impact-heading,.home-impact:not(.is-visible) .home-impact-card,.home-impact:not(.is-visible) .home-impact-footnote{opacity:0;transform:translateY(18px)}.home-impact.is-visible .home-impact-heading,.home-impact.is-visible .home-impact-card,.home-impact.is-visible .home-impact-footnote{opacity:1;transform:none;transition:opacity .65s ease,transform .65s ease}.home-impact.is-visible .home-impact-card:nth-child(1){transition-delay:.08s}.home-impact.is-visible .home-impact-card:nth-child(2){transition-delay:.16s}.home-impact.is-visible .home-impact-card:nth-child(3){transition-delay:.24s}.home-impact.is-visible .home-impact-card:nth-child(4){transition-delay:.32s}.home-impact.is-visible .home-impact-footnote{transition-delay:.4s}
@media(max-width:991.98px){.home-impact-heading{align-items:flex-start;flex-direction:column;gap:1rem}.home-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-impact-card{min-height:16rem;border-bottom:1px solid rgba(255,255,255,.12)}.home-impact-card:nth-child(2){border-right:0}.home-impact-card:nth-child(n+3){border-bottom:0}}
@media(max-width:575.98px){.home-impact{padding:1.75rem 0 3rem}.home-impact-panel{padding:1.25rem;border-radius:1.2rem}.home-impact-grid{grid-template-columns:1fr}.home-impact-card{display:grid;grid-template-columns:1fr auto;min-height:0;padding:1.25rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)!important}.home-impact-card:last-child{border-bottom:0!important}.home-impact-index{grid-column:1}.home-impact-icon{position:static;grid-column:2;grid-row:1/3}.home-impact-value{grid-column:1;margin-top:.7rem}.home-impact-value strong{font-size:3.3rem}.home-impact-label{grid-column:1/-1}.home-impact-link{position:absolute;right:0;bottom:1.4rem}.home-impact-footnote{margin-top:.4rem}}
@media(prefers-reduced-motion:reduce){.home-impact:not(.is-visible) .home-impact-heading,.home-impact:not(.is-visible) .home-impact-card,.home-impact:not(.is-visible) .home-impact-footnote{opacity:1;transform:none}.home-impact.is-visible .home-impact-heading,.home-impact.is-visible .home-impact-card,.home-impact.is-visible .home-impact-footnote{transition:none}}
