
:root{--cream:#FFFFFF;--paper:#EAF6F5;--ink:#050303;--soft:#4A5553;--rose:#5FB3B3;--rose-deep:#050303;--gold:#95D5D5;--gold-soft:#C3E0DF;--card:#FFFFFF}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Source Sans 3',sans-serif;color:var(--ink);line-height:1.65;background-color:#FFFFFF;background-image:radial-gradient(circle at 7% 5%,rgba(149,213,213,.20),transparent 36%),radial-gradient(circle at 93% 13%,rgba(195,224,223,.24),transparent 34%),radial-gradient(circle at 91% 91%,rgba(149,213,213,.16),transparent 40%),radial-gradient(circle at 5% 82%,rgba(195,224,223,.18),transparent 38%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cpath d='M22 32c0-3.6 2.9-6.5 6.5-6.5 2.3 0 4.3 1.2 5.5 3 1.2-1.8 3.2-3 5.5-3C43.1 25.5 46 28.4 46 32c0 5.2-8.5 10.4-11.9 12.7C30.5 42.4 22 37.2 22 32z' fill='%235FB3B3' fill-opacity='.05'/%3E%3Cpath d='M60 63c0-2.8 2.3-5 5-5 1.8 0 3.4.9 4.3 2.3C70.1 58.9 71.7 58 73.5 58c2.7 0 5 2.2 5 5 0 4-6.6 8-9.2 9.8C66.6 71 60 67 60 63z' fill='%2395D5D5' fill-opacity='.06'/%3E%3C/svg%3E");background-attachment:fixed,fixed,fixed,fixed,scroll;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600}
header{background:rgba(251,247,241,.96);border-bottom:1px solid var(--gold-soft);position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 0;gap:10px}
.brand img{height:52px;display:block}
.menu{display:flex;flex-wrap:wrap;gap:2px}
.menu a{padding:8px 13px;border-radius:20px;font-size:.95rem;color:var(--soft)}
.menu a:hover{color:#3E9E9E}
.menu a.active{background:var(--ink);color:#fff}
.hero{position:relative;text-align:center;padding:72px 16px 56px;background:linear-gradient(160deg,var(--paper),var(--cream))}
.hero img.photo{width:190px;height:190px;object-fit:cover;border-radius:50%;border:6px solid #fff;box-shadow:0 10px 34px rgba(51,48,43,.2)}
.hero h1{font-size:clamp(2.4rem,5vw,3.4rem);margin-top:18px}
.hero img.wordmark{max-width:min(520px,86%);margin-top:20px}
.hero .tagline{font-style:italic;color:var(--soft);font-size:1.25rem;margin-top:8px}
.rule{width:110px;height:2px;margin:24px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.section{padding:52px 0}
.section h2{font-size:2rem;text-align:center;margin-bottom:8px}
.section h2::after{content:"";display:block;width:88px;height:16px;margin:12px auto 4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='16' viewBox='0 0 88 16'%3E%3Cpath d='M4 8C16 2 28 2 35 8' stroke='%2395D5D5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3Cpath d='M84 8C72 2 60 2 53 8' stroke='%2395D5D5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3Cpath d='M44 13.5C44 13.5 37.5 9.2 37.5 6 A2.7 2.7 0 0 1 44 4.4 A2.7 2.7 0 0 1 50.5 6C50.5 9.2 44 13.5 44 13.5Z' fill='%235FB3B3'/%3E%3C/svg%3E") center/contain no-repeat}
.page-hero h1::after{content:"";display:block;width:90px;height:16px;margin:14px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='16' viewBox='0 0 90 16'%3E%3Cpath d='M5 8C17 2 30 2 37 8' stroke='%232F4A48' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='.5'/%3E%3Cpath d='M85 8C73 2 60 2 53 8' stroke='%232F4A48' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='.5'/%3E%3Cpath d='M45 13.5C45 13.5 38.5 9.2 38.5 6 A2.7 2.7 0 0 1 45 4.4 A2.7 2.7 0 0 1 51.5 6C51.5 9.2 45 13.5 45 13.5Z' fill='%232F4A48' opacity='.6'/%3E%3C/svg%3E") center/contain no-repeat}
.section .sub{text-align:center;color:var(--soft);margin-bottom:32px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card{background:var(--card);border:1px solid var(--gold-soft);border-radius:14px;padding:22px;box-shadow:0 3px 14px rgba(51,48,43,.05);transition:transform .18s;display:flex;flex-direction:column}
.card p{flex:1}
.card .btn{align-self:flex-start;margin-top:auto}
.card:hover{transform:translateY(-3px)}
.card h3{color:var(--ink);font-size:1.3rem;margin-bottom:6px}
.card .count{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#3E9E9E;font-weight:700}
.card p{color:var(--soft);font-size:.95rem;margin:8px 0 14px}
.card img.series-cover{display:block;height:400px;width:auto;max-width:100%;object-fit:contain;background:#fff;border-radius:8px;margin:0 auto 12px}
.btn{display:inline-block;padding:10px 22px;border-radius:24px;font-weight:600;font-size:.92rem;transition:all .2s}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{background:#3E9E9E}
.btn.ghost{border:1.5px solid var(--gold);color:var(--ink)}
.btn.ghost:hover{background:var(--gold);color:#fff}
.btn-sm{padding:6px 14px;font-size:.8rem}
.books-grid{display:flex;flex-wrap:wrap;gap:24px;margin:18px 0 8px}
.books-grid .book{width:190px;flex:0 0 190px}
.books-grid .book img{height:274px;width:auto;max-width:190px;display:block;margin:0 auto}
.books-grid.featured{display:flex;justify-content:center;flex-wrap:wrap;gap:34px}
.books-grid.featured .book{width:210px;flex:0 0 210px}
.books-grid.featured .book img{height:310px;width:auto;max-width:210px;display:block;margin:0 auto}
.book{text-align:center;display:flex;flex-direction:column}
.book .book-title{flex:1}
.book .btns{margin-top:auto}
.book img{width:100%;aspect-ratio:5/8;object-fit:contain;background:#fff;border-radius:8px;box-shadow:0 4px 14px rgba(51,48,43,.14);transition:transform .18s}
.book img:hover{transform:scale(1.04)}
.book-title{font-size:.9rem;font-weight:600;margin:10px 0 8px}
.shelf-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--ink);margin:36px 0 4px;border-bottom:2px solid var(--gold);padding-bottom:6px}
.shelf-note{color:var(--soft);font-size:.95rem;margin-bottom:8px}
.page-hero{background:linear-gradient(135deg,#95D5D5,#D0EBEA);color:var(--ink);text-align:center;padding:56px 16px 44px}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem);color:var(--ink)}
.page-hero .tag{font-style:italic;color:#2F4A48;font-size:1.2rem;margin-top:6px}
.body-copy{max-width:780px;margin:0 auto}
.body-copy p{margin-bottom:16px;font-size:1.05rem}
.quote{background:var(--paper);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:20px 26px;margin:22px 0;font-style:italic}
.quote .who{font-style:normal;font-weight:600;color:#2F4A48;margin-top:8px;font-size:.92rem}
.post{background:#fff;border:1px solid var(--gold-soft);border-radius:14px;padding:26px;margin-bottom:22px}
.post h3 a:hover{color:#3E9E9E}
.post .date{font-size:.85rem;color:#3E9E9E;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.newsletter{max-width:560px;margin:44px auto 0;padding:28px;background:#fff;border:1px solid var(--gold-soft);border-radius:14px;text-align:center}
.newsletter h3{color:var(--ink);margin-bottom:6px}
.newsletter p{color:var(--soft);font-size:.95rem}
.lang-strip{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.lang-strip a{border:1.5px solid var(--gold-soft);border-radius:20px;padding:6px 16px;font-size:.9rem;color:var(--soft)}
.lang-strip a:hover{border-color:#3E9E9E;color:#3E9E9E}
footer{background:var(--paper);border-top:1px solid var(--gold-soft);padding:42px 0 30px;margin-top:48px}
.foot{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}
.foot h4{font-family:'Playfair Display',serif;margin-bottom:10px}
.foot a{display:block;color:var(--soft);font-size:.92rem;padding:2px 0}
.foot a:hover{color:#3E9E9E}
.copyright{text-align:center;color:var(--soft);font-size:.85rem;margin-top:28px;padding-top:16px;border-top:1px solid var(--gold-soft)}
@media(max-width:640px){.nav{justify-content:center}}
