/* Public catalogue only: no product, pricing, checkout or download treatment. */
.xantum-catalog-page { --catalog-ink:#091b2c; --catalog-paper:#f5f0e5; --catalog-sand:#e7dcc8; --catalog-lime:#aac22f; --catalog-copy:#385066; --catalog-rule:#c8baa4; background:var(--catalog-paper); color:var(--catalog-ink); }
.catalog-width { width:min(1160px,88%); margin-inline:auto; }
.catalog-header { position:relative; min-height:78px; height:auto; padding:18px 5%; flex-wrap:wrap; background:var(--catalog-ink); color:#fff; border-bottom:1px solid rgb(255 255 255 / .14); }
.catalog-header .mini-logo { gap:9px; }.catalog-header .header-wordmark { font-size:22px; letter-spacing:-.045em; }.catalog-header nav { display:flex; gap:clamp(16px,2.4vw,30px); font:500 11px/1.3 "DM Mono",monospace; letter-spacing:.045em; }.catalog-header nav a { border-bottom:1px solid transparent; }.catalog-header nav a:hover,.catalog-header nav .is-current { color:var(--catalog-lime); border-bottom-color:var(--catalog-lime); }
.catalog-hero { padding:clamp(73px,11vw,152px) 0 clamp(70px,10vw,138px); background:var(--catalog-ink); color:#fff; border-bottom:3px solid var(--catalog-lime); }.catalog-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr); gap:clamp(32px,9vw,150px); align-items:end; }.catalog-kicker { margin:0 0 24px; font:500 11px/1.5 "DM Mono",monospace; letter-spacing:.075em; }.catalog-hero .catalog-kicker { color:#c9d7cb; }.catalog-hero h1 { margin:0; font-size:clamp(57px,8.9vw,137px); line-height:.85; letter-spacing:-.08em; }.catalog-hero h1 em { color:var(--catalog-lime); font-style:normal; }.catalog-hero-copy { padding-bottom:5px; }.catalog-hero-copy p { margin:0; color:#dce6df; font-size:clamp(17px,1.7vw,22px); line-height:1.52; }.catalog-text-link { display:inline-flex; gap:11px; margin-top:28px; padding-bottom:7px; border-bottom:1px solid var(--catalog-lime); color:var(--catalog-lime); font:600 12px/1.4 "DM Mono",monospace; letter-spacing:.025em; }
.catalog-notice { background:#dce7c5; border-bottom:1px solid #b4c38e; }.catalog-notice > .catalog-width { display:grid; grid-template-columns:130px minmax(0,1fr); gap:26px; padding-block:20px; }.catalog-notice span { color:#3b4e24; font:600 11px/1.5 "DM Mono",monospace; letter-spacing:.075em; }.catalog-notice p { margin:0; color:#26371e; font-size:15px; line-height:1.55; }.catalog-notice strong { font-weight:800; }
.catalog-titles { padding:clamp(68px,10vw,134px) 0; background:var(--catalog-paper); }.catalog-section-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr); gap:clamp(35px,8vw,130px); align-items:end; margin-bottom:clamp(44px,7vw,82px); }.catalog-section-heading .catalog-kicker { grid-column:1 / -1; margin-bottom:0; color:#586859; }.catalog-section-heading h2,.catalog-bundle h2,.catalog-contact h2 { margin:0; font-size:clamp(41px,5.5vw,82px); line-height:.91; letter-spacing:-.07em; }.catalog-section-heading h2 span,.catalog-bundle h2 span { color:#5f7b1c; }.catalog-section-heading > p:last-child { max-width:420px; margin:0; color:var(--catalog-copy); font-size:17px; line-height:1.65; }
.catalog-book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,4vw,52px); }.catalog-book { display:grid; grid-template-columns:minmax(190px,.78fr) minmax(0,1.1fr); align-items:start; min-width:0; border-top:1px solid var(--catalog-rule); padding-top:22px; }.catalog-cover { position:relative; display:flex; min-height:415px; aspect-ratio:3 / 4.35; flex-direction:column; justify-content:space-between; overflow:hidden; padding:25px 23px; color:#fff; box-shadow:12px 15px 0 #bdad9699; }.catalog-cover::after { position:absolute; right:-8%; top:9%; z-index:0; content:""; width:65%; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; opacity:.42; }.catalog-cover > * { position:relative; z-index:1; }.catalog-cover-brand { font:600 10px/1.18 "DM Mono",monospace; letter-spacing:.08em; }.catalog-cover > strong { position:absolute; right:-.06em; top:.37em; z-index:0; font-size:clamp(130px,14vw,218px); line-height:.7; letter-spacing:-.13em; opacity:.18; }.catalog-cover > div { margin-top:auto; }.catalog-cover div > span { font:600 9px/1.5 "DM Mono",monospace; letter-spacing:.11em; }.catalog-cover h3 { margin:15px 0 13px; font-size:clamp(29px,3vw,46px); line-height:.84; letter-spacing:-.075em; }.catalog-cover p { margin:0; font-size:12px; line-height:1.35; }.catalog-book-review .catalog-cover { background:linear-gradient(145deg,#153e59 0%,#0b1d32 70%); }.catalog-book-review .catalog-cover::after { color:#d5e69b; }.catalog-book-ai .catalog-cover { background:linear-gradient(145deg,#a8bf55 0%,#6a812b 52%,#233d32 100%); color:#0d271f; }.catalog-book-ai .catalog-cover::after { color:#f9f2e4; opacity:.65; }.catalog-book-copy { padding:12px 0 0 clamp(21px,3vw,40px); }.catalog-book-number { margin:0; color:#586859; font:500 11px/1.5 "DM Mono",monospace; letter-spacing:.075em; }.catalog-book-copy h3 { margin:19px 0 17px; font-size:clamp(29px,3vw,45px); line-height:.96; letter-spacing:-.06em; }.catalog-book-lead { margin:0; color:var(--catalog-copy); font-size:16px; line-height:1.62; }.catalog-book-copy ul { margin:29px 0 27px; padding:0; list-style:none; border-top:1px solid var(--catalog-rule); }.catalog-book-copy li { padding:12px 0 12px 19px; border-bottom:1px solid var(--catalog-rule); color:#29475b; font-size:14px; line-height:1.42; }.catalog-book-copy li::before { content:""; display:inline-block; width:6px; height:6px; margin:0 10px 2px -19px; background:var(--catalog-lime); }.catalog-book-author { margin:0; color:#4d6252; font:600 12px/1.4 "DM Mono",monospace; }
.catalog-bundle { padding:clamp(70px,10vw,140px) 0; background:#dfe6d2; border-block:1px solid #bdc7ac; }.catalog-bundle-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:clamp(38px,9vw,145px); align-items:center; }.catalog-bundle .catalog-kicker { color:#52684e; }.catalog-bundle p:not(.catalog-kicker) { max-width:530px; margin:27px 0 0; color:#345044; font-size:17px; line-height:1.65; }.catalog-bundle-covers { position:relative; height:300px; }.catalog-mini-cover { position:absolute; display:flex; flex-direction:column; justify-content:space-between; width:187px; height:265px; padding:18px; box-shadow:10px 13px 0 #74836350; }.catalog-mini-cover b { font-size:76px; line-height:.78; letter-spacing:-.1em; opacity:.24; }.catalog-mini-cover span { font-size:20px; font-weight:800; line-height:.86; letter-spacing:-.06em; }.catalog-mini-review { left:8%; top:20px; background:#102f49; color:#fff; transform:rotate(-8deg); }.catalog-mini-ai { right:7%; top:0; background:#a9c04e; color:#163128; transform:rotate(8deg); }
.catalog-contact { padding:clamp(72px,11vw,151px) 0; background:#17394c; color:#fff; }.catalog-contact .catalog-kicker { color:#cbd8c3; }.catalog-contact h2 { max-width:870px; }.catalog-contact > .catalog-width > p:not(.catalog-kicker) { max-width:660px; margin:27px 0 0; color:#dbe7e7; font-size:18px; line-height:1.62; }.catalog-contact-link { display:inline-flex; align-items:center; gap:18px; margin-top:36px; padding:16px 19px; background:var(--catalog-lime); color:var(--catalog-ink); font:600 12px/1.4 "DM Mono",monospace; letter-spacing:.025em; }.catalog-contact-link span { font-size:19px; }.catalog-contact-link:hover { background:#c7dd73; }
.catalog-footer { padding:34px 5% 22px; background:var(--catalog-paper); color:var(--catalog-ink); border-top:1px solid var(--catalog-rule); }.catalog-footer .footer-brand { font-size:clamp(76px,13vw,190px); letter-spacing:-.092em; line-height:.76; }.catalog-footer .footer-bottom { margin-top:34px; padding-top:19px; border-color:var(--catalog-rule); color:#526a62; }.xantum-catalog-page :focus-visible { outline:3px solid var(--catalog-lime); outline-offset:4px; }
@media (max-width:800px) { .catalog-hero-grid,.catalog-section-heading,.catalog-bundle-layout { grid-template-columns:1fr; gap:29px; }.catalog-section-heading .catalog-kicker { grid-column:auto; }.catalog-hero-copy { max-width:560px; }.catalog-book-grid { gap:40px 25px; }.catalog-book { grid-template-columns:minmax(160px,.72fr) minmax(0,1.1fr); }.catalog-cover { min-height:350px; }.catalog-bundle-covers { width:min(100%,430px); } }
@media (max-width:620px) { .catalog-header { min-height:66px; padding:15px 6%; }.catalog-header nav { display:flex; width:100%; justify-content:space-between; gap:8px; font-size:10px; }.catalog-hero { padding-top:58px; }.catalog-hero h1 { font-size:clamp(52px,15vw,78px); }.catalog-notice > .catalog-width { grid-template-columns:1fr; gap:7px; padding-block:17px; }.catalog-titles { padding-block:60px; }.catalog-section-heading { margin-bottom:38px; }.catalog-section-heading h2,.catalog-bundle h2,.catalog-contact h2 { font-size:clamp(39px,12vw,63px); }.catalog-book-grid { grid-template-columns:1fr; }.catalog-book { grid-template-columns:minmax(145px,.65fr) minmax(0,1fr); }.catalog-cover { min-height:330px; }.catalog-cover h3 { font-size:clamp(27px,7vw,38px); }.catalog-book-copy { padding-left:19px; }.catalog-book-copy h3 { font-size:30px; }.catalog-book-copy li { font-size:13px; }.catalog-bundle-covers { height:265px; }.catalog-mini-cover { width:164px; height:235px; }.catalog-mini-review { left:2%; }.catalog-mini-ai { right:2%; }.catalog-footer .footer-bottom { gap:16px; }.catalog-footer .footer-bottom > div { gap:12px 18px; } }
@media (max-width:390px) { .catalog-header nav { font-size:9px; letter-spacing:0; }.catalog-book { grid-template-columns:1fr; }.catalog-cover { width:min(205px,72vw); min-height:0; margin-bottom:16px; }.catalog-book-copy { padding-left:0; }.catalog-mini-cover { width:145px; height:210px; }.catalog-bundle-covers { height:235px; } }
@media (prefers-reduced-motion:reduce) { .xantum-catalog-page * { scroll-behavior:auto; } }

/* Keep each cover and its description readable across the full catalogue grid. */
.catalog-book { grid-template-columns:1fr; }
.catalog-cover { width:min(300px,90%); min-height:0; margin:0 auto 34px; }
.catalog-cover h3 { font-size:clamp(29px,3.6vw,44px); }
.catalog-book-copy { padding:0; }
.catalog-book-ai .catalog-cover { background:linear-gradient(145deg,#c6d981,#a8bf55); }
.catalog-header nav a { display:inline-flex; align-items:center; min-height:36px; }
@media(max-width:620px) { .catalog-cover h3 { font-size:clamp(30px,9vw,44px); } .catalog-header nav { font-size:11px; } }
