/* v2026-B "Clarity": clear and structured. One declaration per line, no comments inside rules  (StaticMerger joins lines). Content pages come from the DB as legacy HTML/markdown: #body  styles them as a readable column; the home page (.home) uses the full width. */:root{--ink: #16213A;--ink-2: #3A4660;--muted: #56627A;--accent: #2F5DA8;--accent-dark: #1F4580;--accent-soft: #E8EFFA;--soft: #F3F6FB;--line: #E4E9F2;--line-2: #DCE3EF;--radius: 18px;--wrap: 1200px;--font: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;}*, *::before, *::after{box-sizing: border-box;}html{scroll-behavior: smooth;-webkit-text-size-adjust: 100%;}body{margin: 0;background: #FFFFFF;color: var(--ink);font-family: var(--font);font-size: 17px;line-height: 1.6;-webkit-font-smoothing: antialiased;}a{color: var(--accent);text-underline-offset: 3px;}a:hover{color: var(--accent-dark);}img{max-width: 100%;height: auto;}[hidden]{display: none !important;}.sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;}.wrap{max-width: var(--wrap);margin: 0 auto;padding: 0 24px;}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 15px 26px;border-radius: 12px;background: var(--accent);color: #FFFFFF;font-weight: 700;text-decoration: none;border: 1px solid var(--accent);transition: background .15s, border-color .15s, color .15s;}.btn:hover{background: var(--accent-dark);border-color: var(--accent-dark);color: #FFFFFF;}.btn-ghost{background: #FFFFFF;color: var(--ink);border-color: var(--line-2);}.btn-ghost:hover{background: var(--soft);color: var(--ink);border-color: var(--line-2);}.btn-small{padding: 10px 18px;border-radius: 10px;}/* top bar + header */.topbar{background: var(--ink);color: #D9E1EF;font-size: 14px;}.topbar .wrap{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 6px 24px;padding-top: 9px;padding-bottom: 9px;}.topbar-contacts{display: flex;flex-wrap: wrap;gap: 6px 24px;}.topbar a{color: #FFFFFF;text-decoration: none;}.header{position: sticky;top: 0;z-index: 50;background: rgba(255, 255, 255, .94);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border-bottom: 1px solid var(--line);}.header .wrap{display: flex;align-items: center;justify-content: space-between;gap: 16px;padding-top: 14px;padding-bottom: 14px;}.brand{display: flex;align-items: center;gap: 12px;color: var(--ink);text-decoration: none;flex-shrink: 0;}.brand:hover{color: var(--ink);}.brand-mark{width: 42px;height: 42px;border-radius: 12px;background: var(--accent);color: #FFFFFF;display: flex;align-items: center;justify-content: center;font-weight: 800;font-size: 16px;letter-spacing: .02em;}.brand-text{display: flex;flex-direction: column;line-height: 1.2;}.brand-name{font-weight: 800;font-size: 18px;}.brand-sub{font-size: 13px;color: var(--muted);}.nav{display: flex;align-items: center;gap: 4px;font-weight: 600;font-size: 15px;}.nav > a, .nav summary{color: var(--ink);text-decoration: none;padding: 8px 12px;border-radius: 8px;cursor: pointer;white-space: nowrap;}.nav > a:hover, .nav summary:hover, .nav-group[open] summary{background: var(--soft);color: var(--ink);}.nav > a[aria-current], .nav-drop a[aria-current]{color: var(--accent);}.nav > a.btn{color: #FFFFFF;margin-left: 8px;padding: 10px 18px;}.nav > a.btn:hover{background: var(--accent-dark);color: #FFFFFF;}.nav-group{position: relative;}.nav summary{list-style: none;display: flex;align-items: center;gap: 6px;}.nav summary::-webkit-details-marker{display: none;}.nav summary::after{content: '';width: 7px;height: 7px;border-right: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: translateY(-2px) rotate(45deg);opacity: .6;}.nav-drop{position: absolute;top: calc(100% + 8px);left: 0;min-width: 280px;background: #FFFFFF;border: 1px solid var(--line);border-radius: 14px;box-shadow: 0 16px 40px rgba(22, 33, 58, .12);padding: 8px;display: flex;flex-direction: column;}.nav-drop a{color: var(--ink);text-decoration: none;padding: 9px 12px;border-radius: 8px;font-weight: 500;}.nav-drop a:hover{background: var(--soft);color: var(--ink);}.nav-toggle{display: none;width: 44px;height: 44px;border: 1px solid var(--line-2);border-radius: 10px;background: #FFFFFF;cursor: pointer;position: relative;}.nav-toggle span:first-child, .nav-toggle span:first-child::before, .nav-toggle span:first-child::after{position: absolute;left: 12px;width: 18px;height: 2px;background: var(--ink);border-radius: 2px;content: '';}.nav-toggle span:first-child{top: 21px;}.nav-toggle span:first-child::before{left: 0;top: -6px;}.nav-toggle span:first-child::after{left: 0;top: 6px;}@media (max-width: 1080px){.nav-toggle{display: block;}.nav{display: none;	position: absolute;	top: 100%;	left: 0;	right: 0;	flex-direction: column;	align-items: stretch;	gap: 2px;	padding: 12px 16px 20px;	background: #FFFFFF;	border-bottom: 1px solid var(--line);	box-shadow: 0 16px 30px rgba(22, 33, 58, .1);	max-height: calc(100vh - 80px);	overflow-y: auto;}.nav.open{display: flex;}.nav > a, .nav summary{padding: 12px;	font-size: 16px;}.nav-drop{position: static;	box-shadow: none;	border: 0;	padding: 0 0 6px 12px;	min-width: 0;}.nav > a.btn{margin: 10px 0 0;	padding: 14px;}}@media (max-width: 560px){.topbar span:first-child{display: none;}.brand-sub{font-size: 12px;}}/* content pages */.content{display: block;max-width: 960px;margin: 0 auto;padding: 48px 24px 88px;font-size: 17px;line-height: 1.7;color: var(--ink-2);min-height: 50vh;overflow-wrap: break-word;}.content:has(> .home){max-width: none;padding: 0;color: var(--ink);line-height: 1.6;}.content h1, .content h2, .content h3, .content h4{color: var(--ink);line-height: 1.2;letter-spacing: -.01em;}.content h1{font-size: clamp(30px, 4vw, 42px);font-weight: 800;margin: 0 0 24px;}.content h2{font-size: clamp(24px, 3vw, 30px);font-weight: 800;margin: 48px 0 16px;}.content h3{font-size: 21px;font-weight: 700;margin: 32px 0 12px;}.content > h1:first-child, .content > h2:first-child, .content > markdown > h1:first-child, .content > markdown > h2:first-child, .content > .block:first-child h2:first-child{margin-top: 0;}.content p{margin: 0 0 1em;}.content ul, .content ol{padding-left: 1.3em;margin: 0 0 1.2em;}.content li{margin: .3em 0;}.content li::marker{color: var(--accent);}.content img{border-radius: 12px;margin: 4px 16px 12px 0;}.content img[align=right], .content img[style*="float: right"], .content img[style*="float:right"]{margin: 4px 0 12px 16px;}.content blockquote{margin: 24px 0;padding: 18px 24px;background: var(--soft);border-left: 4px solid var(--accent);border-radius: 0 12px 12px 0;}.content hr{border: 0;border-top: 1px solid var(--line);margin: 40px 0;}.content markdown{display: block;}.content markdown > p:first-of-type:not(:has(img)){font-size: 19px;color: var(--ink);}.content table{border-collapse: collapse;max-width: 100%;margin: 0 0 24px;font-size: 15px;line-height: 1.5;}.content td, .content th{vertical-align: top;}.content table.schedule{width: 100%;border: 1px solid var(--line);border-radius: 14px;border-collapse: separate;border-spacing: 0;overflow: hidden;}.content table.schedule td{padding: 12px 14px;border-bottom: 1px solid var(--line);}.content table.schedule tr:last-child td{border-bottom: 0;}.content table.schedule tr.head td{background: var(--ink);color: #FFFFFF;font-weight: 700;font-size: 14px;}.content table.schedule td.desc{background: var(--soft);color: var(--muted);}.content div.block{background: var(--soft);border: 1px solid var(--line);border-radius: var(--radius);padding: 28px 32px;margin: 0 0 40px;}.content div.block table.schedule{background: #FFFFFF;}.content ul.publish{list-style: none;padding: 0;counter-reset: pub;}.content ul.publish li{counter-increment: pub;padding: 14px 16px 14px 52px;position: relative;border-bottom: 1px solid var(--line);margin: 0;}.content ul.publish li::before{content: counter(pub);position: absolute;left: 12px;top: 14px;width: 28px;height: 28px;border-radius: 50%;background: var(--accent-soft);color: var(--accent);font-size: 13px;font-weight: 700;text-align: center;line-height: 28px;}.content ul.books, .content ul.books_big{list-style: none;padding: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));gap: 20px;}.content ul.books li, .content ul.books_big li{text-align: center;font-size: 14px;}.content p.title{font-weight: 700;color: var(--ink);}.content iframe{max-width: 100%;border: 0;border-radius: 12px;}@media (max-width: 760px){.content{padding: 32px 16px 64px;	font-size: 16px;}.content img[align], .content img[style*=float]{float: none !important;	display: block;	margin: 0 0 16px;}.content table{display: block;	overflow-x: auto;}.content table[width]{width: auto !important;}.content div.block{padding: 20px;}}/* page loading overlay (main.js) */#TB_overlay{position: fixed;left: 0;right: 0;top: 0;height: 3px;z-index: 100;background: linear-gradient(90deg, transparent, var(--accent), transparent);background-size: 50% 100%;animation: loading 1s linear infinite;}@keyframes loading{from{background-position: -50% 0;}to{background-position: 150% 0;}}/* home page (DB page v2026b-index.html) */.home section{padding: 88px 0;}.home .soft{background: var(--soft);}.home h2{margin: 0;font-weight: 800;font-size: clamp(30px, 3.4vw, 40px);letter-spacing: -.01em;line-height: 1.15;}.home .lead{margin: 0;color: var(--muted);max-width: 640px;}.home .section-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-end;gap: 12px 24px;margin-bottom: 36px;}.home .section-head > div{display: flex;flex-direction: column;gap: 10px;}.home .more{font-weight: 700;text-decoration: none;white-space: nowrap;}.home .more::after{content: '\00a0\2192';}.hero{background: var(--soft);}.hero .wrap{display: flex;flex-wrap: wrap;gap: 48px;align-items: center;}.hero-text{flex: 999 1 520px;min-width: 0;display: flex;flex-direction: column;gap: 24px;}.hero .pill{align-self: flex-start;background: #FFFFFF;border: 1px solid var(--line-2);border-radius: 999px;padding: 6px 14px;font-size: 14px;font-weight: 600;color: var(--accent);}.hero h1{margin: 0;font-weight: 800;font-size: clamp(36px, 4.6vw, 56px);line-height: 1.08;letter-spacing: -.02em;}.hero p{margin: 0;font-size: 19px;color: var(--ink-2);max-width: 600px;}.hero .actions{display: flex;flex-wrap: wrap;gap: 12px;}.hero-side{flex: 1 1 340px;min-width: 0;max-width: 440px;display: flex;flex-direction: column;gap: 12px;}.hero-side img{width: 100%;aspect-ratio: 4 / 5;object-fit: cover;object-position: 50% 20%;border-radius: 20px;display: block;margin: 0;}.stats{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 12px;}.stat{background: #FFFFFF;border: 1px solid var(--line-2);border-radius: 14px;padding: 14px 16px;line-height: 1.35;}.stat b{display: block;font-weight: 800;font-size: 22px;margin-bottom: 2px;}.stat span{font-size: 14px;color: var(--muted);}.events{display: grid;grid-template-columns: repeat(auto-fit, minmax(max(260px, calc((100% - 40px) / 3)), 1fr));gap: 20px;}.event{border: 1px solid var(--line);border-radius: var(--radius);padding: 24px;display: flex;flex-direction: column;gap: 10px;background: #FFFFFF;}.event .when{align-self: flex-start;background: var(--accent-soft);color: var(--accent);font-weight: 700;font-size: 14px;padding: 5px 12px;border-radius: 999px;}.event h3{margin: 0;font-size: 19px;font-weight: 700;line-height: 1.3;}.event p{margin: 0;color: var(--muted);font-size: 15px;}.event .dates{display: flex;flex-wrap: wrap;gap: 6px;padding: 0;margin: 0;list-style: none;font-size: 14px;}.event .dates li{margin: 0;padding: 3px 10px;border: 1px solid var(--line-2);border-radius: 8px;}.event .go{margin-top: auto;padding-top: 6px;font-weight: 700;font-size: 15px;text-decoration: none;}.event .go::after{content: '\00a0\2192';}.cards{display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 20px;}.card{text-decoration: none;color: var(--ink);border: 1px solid var(--line);border-radius: var(--radius);padding: 28px;display: flex;flex-direction: column;gap: 12px;background: #FFFFFF;transition: border-color .15s, box-shadow .15s, transform .15s;}.card:hover{color: var(--ink);border-color: var(--line-2);box-shadow: 0 14px 34px rgba(22, 33, 58, .08);transform: translateY(-2px);}.card svg, .contact-card svg{width: 32px;height: 32px;fill: none;stroke: var(--accent);stroke-width: 1.6;stroke-linecap: round;stroke-linejoin: round;}.card h3{margin: 0;font-size: 20px;font-weight: 700;line-height: 1.3;}.card p{margin: 0;color: var(--muted);font-size: 16px;}.about .wrap{display: flex;flex-wrap: wrap;gap: 48px;align-items: center;}.about-text{flex: 999 1 480px;min-width: 0;display: flex;flex-direction: column;gap: 18px;}.about-text p{margin: 0;font-size: 18px;color: var(--ink-2);}.checks{margin: 0;padding: 0;list-style: none;display: flex;flex-direction: column;gap: 10px;}.checks li{display: flex;gap: 12px;margin: 0;}.checks li::before{content: '\2713';color: var(--accent);font-weight: 800;}.about img{flex: 1 1 380px;min-width: 0;width: 100%;max-width: 420px;aspect-ratio: 4 / 5;object-fit: cover;border-radius: 20px;display: block;margin: 0;}.quotes{display: grid;grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));gap: 20px;}.quotes figure{margin: 0;border: 1px solid var(--line);border-radius: var(--radius);padding: 28px;display: flex;flex-direction: column;gap: 16px;}.quotes blockquote{margin: 0;padding: 0;background: none;border: 0;font-size: 18px;line-height: 1.55;}.quotes figcaption{color: var(--muted);font-size: 15px;font-weight: 600;}.books{background: var(--ink);color: #FFFFFF;}.books h2{color: #FFFFFF;}.books .more{color: #A9C4F0;}.book-grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));gap: 28px;}.book-grid a{display: flex;flex-direction: column;gap: 12px;color: #FFFFFF;text-decoration: none;font-weight: 700;line-height: 1.35;}.book-grid a:hover{color: #A9C4F0;}.book-grid img{width: 100%;aspect-ratio: 2 / 3;object-fit: cover;border-radius: 6px;margin: 0;box-shadow: 0 12px 30px rgba(0, 0, 0, .35);background: #FFFFFF;}/* about page: a row of photos */.content .photo-row{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 16px;margin: 8px 0 28px;}.content .photo-row img{width: 100%;height: auto;aspect-ratio: 4 / 5;object-fit: cover;margin: 0;}@media (max-width: 560px){.content .photo-row{grid-template-columns: repeat(2, minmax(0, 1fr));}.content .photo-row img:last-child{display: none;}}/* publications page: all books with where to get them */.content .library{display: grid;grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));gap: 28px 24px;margin: 8px 0 40px;padding: 0;list-style: none;}.content .library li{display: flex;flex-direction: column;gap: 8px;margin: 0;padding: 0;line-height: 1.35;}.content .library li::before{content: none;}.content .library img{width: 100%;aspect-ratio: 2 / 3;object-fit: contain;margin: 0 0 6px;border-radius: 6px;background: var(--soft);box-shadow: 0 10px 24px rgba(22, 33, 58, .14);}.library b{font-weight: 700;}.library small{color: var(--muted);font-size: 14px;}.library small{margin-bottom: 8px;}/* at the bottom of the card, so the buttons of a row line up */.library .buy{align-self: flex-start;margin-top: auto;padding: 3px 10px;border-radius: 999px;font-size: 13px;font-weight: 600;background: var(--soft);color: var(--muted);}.library a.buy{background: var(--accent);color: #FFFFFF;text-decoration: none;}.library a.buy:hover{background: var(--ink);color: #FFFFFF;}/* publications page (DB page "publish.html" of this design) */.pub section{margin-top: 56px;scroll-margin-top: 96px;}.pub .lead{font-size: 19px;color: var(--muted);max-width: 720px;}/* the section a jump link (#books, #contact) lands on: a short highlight under its heading, so  the reader sees where they arrived even when the browser jumps instead of scrolling smoothly */@keyframes landed{from{background-color: var(--accent-soft); box-shadow: 0 0 0 12px var(--accent-soft);}to{background-color: transparent; box-shadow: 0 0 0 12px transparent;}}.pub section:target > h2, .contact:target h2{border-radius: 6px;animation: landed 1.6s ease-out;}.pub-nav{display: flex;flex-wrap: wrap;gap: 8px;margin: 20px 0 0;}.pub-nav a{padding: 7px 16px;border-radius: 999px;background: var(--soft);border: 1px solid var(--line-2);color: var(--ink);font-weight: 600;font-size: 15px;text-decoration: none;}.pub-nav a:hover{border-color: var(--accent);color: var(--accent);}.pub .shelf{margin-top: 32px;}.pub .shelf h3{margin: 0 0 2px;}.pub .note{margin: 0 0 18px;color: var(--muted);font-size: 15px;}.downloads{display: grid;grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));gap: 14px;}.content a.download{display: grid;grid-template-columns: 48px minmax(0, 1fr);grid-template-rows: auto auto auto;column-gap: 14px;row-gap: 2px;align-items: center;padding: 16px 18px;border-radius: 14px;border: 1px solid var(--line-2);background: #FFFFFF;color: var(--ink);text-decoration: none;}.content a.download:hover{border-color: var(--accent);box-shadow: 0 10px 26px rgba(22, 33, 58, .08);}.download .doc{grid-row: 1 / 4;display: flex;align-items: center;justify-content: center;height: 56px;border-radius: 8px;background: var(--accent-soft);color: var(--accent);font-size: 13px;font-weight: 800;}.download span:not(.doc){font-size: 15px;line-height: 1.35;}.download small{color: var(--muted);font-size: 14px;}.video{position: relative;max-width: 720px;aspect-ratio: 16 / 9;border-radius: 14px;overflow: hidden;background: var(--ink);}.video iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0;}.content ol.articles{list-style: none;padding: 0;margin: 0;}.content ol.articles li{display: grid;grid-template-columns: 64px minmax(0, 1fr);gap: 16px;margin: 0;padding: 14px 0;border-bottom: 1px solid var(--line);line-height: 1.5;}.articles .year{font-weight: 800;color: var(--accent);}@media (max-width: 560px){.content ol.articles li{grid-template-columns: minmax(0, 1fr);	gap: 2px;}.content .library{grid-template-columns: repeat(2, minmax(0, 1fr));	gap: 22px 16px;}}.blog .wrap{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 24px;}.blog-box{display: flex;flex-direction: column;gap: 10px;max-width: 720px;}@media (max-width: 760px){.home section{padding: 56px 0;}.wrap{padding: 0 16px;}.cards, .quotes{grid-template-columns: minmax(0, 1fr);}.book-grid{grid-template-columns: repeat(2, minmax(0, 1fr));	gap: 20px;}}/* contact + footer (every page) */.contact{background: var(--soft);border-top: 1px solid var(--line);padding: 72px 0;}.contact .wrap{display: flex;flex-wrap: wrap;gap: 32px 48px;align-items: center;}.contact-intro{flex: 1 1 320px;display: flex;flex-direction: column;gap: 12px;}.contact-intro h2{margin: 0;white-space: nowrap;font-weight: 800;font-size: clamp(28px, 3vw, 36px);line-height: 1.15;}.contact-intro p{margin: 0;color: var(--muted);}.contact-cards{flex: 999 1 560px;min-width: 0;display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 14px;}.contact-card{display: grid;grid-template-columns: 32px minmax(0, 1fr);grid-template-rows: auto auto;column-gap: 14px;align-items: center;padding: 18px 20px;border-radius: 14px;background: #FFFFFF;border: 1px solid var(--line-2);text-decoration: none;color: var(--ink);transition: border-color .15s, box-shadow .15s;}.contact-card:hover{color: var(--ink);border-color: var(--accent);box-shadow: 0 10px 26px rgba(22, 33, 58, .08);}.contact-card svg{grid-row: 1 / 3;width: 28px;height: 28px;}.contact-label{font-size: 13px;color: var(--muted);font-weight: 600;}.contact-value{font-weight: 700;overflow-wrap: anywhere;}.socials{flex: 1 1 100%;display: flex;flex-wrap: wrap;align-items: center;gap: 8px 10px;margin: 0;color: var(--muted);font-size: 15px;}.socials span{margin-right: 4px;font-weight: 600;}.socials a{padding: 6px 14px;border-radius: 999px;background: #FFFFFF;border: 1px solid var(--line-2);color: var(--ink);font-weight: 600;text-decoration: none;}.socials a:hover{border-color: var(--accent);color: var(--accent);}@media (max-width: 640px){.contact-cards{grid-template-columns: minmax(0, 1fr);}}.footer{background: var(--ink);color: #B8C3D6;font-size: 15px;}.footer-menu{display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 32px;padding: 56px 0 40px;}.footer-head{display: block;color: #FFFFFF;font-weight: 700;margin-bottom: 12px;}.footer ul{list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 8px;}.footer a{color: #B8C3D6;text-decoration: none;}.footer a:hover, .footer a[aria-current]{color: #FFFFFF;}.footer-bottom{border-top: 1px solid rgba(255, 255, 255, .12);padding: 22px 0 28px;display: flex;flex-wrap: wrap;justify-content: space-between;gap: 8px;font-size: 14px;}/* content pages (everything but the home page): a title band, a readable column, sections */.content{max-width: 880px;}.content > h1:first-of-type, .content > markdown > h1:first-child, .pub > h1:first-child{position: relative;margin: -48px 0 40px;padding: 56px 0 36px;background: var(--soft);box-shadow: 0 0 0 100vmax var(--soft);clip-path: inset(0 -100vmax);}.content > h1:first-of-type::after, .content > markdown > h1:first-child::after, .pub > h1:first-child::after{content: '';display: block;width: 56px;height: 4px;margin-top: 18px;border-radius: 2px;background: var(--accent);}.content markdown > h2{padding-top: 32px;border-top: 1px solid var(--line);}.content markdown > h1 + h2, .content markdown > h2:first-child{padding-top: 0;border-top: 0;}.content ul > li{padding-left: 2px;}.content a{text-underline-offset: 3px;}.content iframe{display: block;max-width: 100%;height: auto;aspect-ratio: 16 / 9;border: 0;border-radius: 14px;margin: 8px 0 24px;}.content p > img:only-child, .content markdown > p > img{box-shadow: 0 10px 28px rgba(22, 33, 58, .12);}.content strong, .content b{color: var(--ink);}