
:root{--bg:#f6f3eb;--ink:#173c35;--gold:#b58a46;--line:#d9dbd0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,sans-serif}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.serif{font-family:Georgia,serif;font-weight:400}
a{color:inherit}
button,input,textarea{font:inherit}
button,a,input,textarea{outline-offset:5px}
header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:4}
.nav{max-width:1280px;margin:auto;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{text-decoration:none;letter-spacing:2px;font-size:18px}
.logo b{color:var(--gold);font-size:25px}
nav{display:flex;gap:28px}
nav a{text-decoration:none;font-size:13px}
.wrap{max-width:1280px;margin:auto;padding:0 5%}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;padding-top:78px;padding-bottom:90px}
.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:3px;color:#806138;margin-bottom:22px}
h1{font-size:clamp(44px,6vw,79px);line-height:1.08;letter-spacing:-3px}
h1 em{color:#98733b}
p.lead{max-width:480px;color:#54635d;font-size:18px}
.btn{display:inline-block;border:1px solid var(--ink);padding:13px 22px;text-decoration:none;background:var(--ink);color:white;cursor:pointer;font-size:13px}
.btn.light{background:transparent;color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.still{height:490px;position:relative;background:#e8e5d8;border-radius:50% 50% 0 0;display:grid;place-items:center;overflow:hidden}
.still:before{content:'';position:absolute;width:350px;height:350px;border:1px solid #c6cbbb;border-radius:50%}
.book{width:235px;height:325px;background:#193f35;color:#e9dbb4;box-shadow:16px 20px 28px #152f352e,inset 9px 0 #0e3029,inset 13px 0 #39624d;transform:rotate(-9deg);padding:40px 28px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.book:after{content:'';position:absolute;inset:15px 15px 15px 22px;border:1px solid #b89c58}
.gem{font-size:48px;color:#c4a56b}
.book strong{font:27px Georgia;letter-spacing:3px}
.book small{font-size:10px;letter-spacing:2px}
.caption{position:absolute;bottom:15px;right:18px;font-size:10px;letter-spacing:1px;color:#6a7063}
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:2px}
.section{padding-top:85px;padding-bottom:85px}
.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
h2{font-size:clamp(32px,4vw,49px);line-height:1.14;margin-bottom:16px}
.muted{color:#657169;font-size:14px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 15px;border-radius:25px;cursor:pointer;font-size:12px}
.filters button.active{background:var(--ink);color:white}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tile{border-bottom:1px solid var(--line);padding-bottom:23px}
.coverwrap{height:270px;background:#e9e8dd;display:flex;align-items:center;justify-content:center;padding:24px;margin-bottom:20px}
.cover-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none}
.cover{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(8px 12px 10px #173c3528);transition:transform .2s ease}
.cover-link:hover .cover{transform:translateY(-4px)}
.book-detail{display:grid;grid-template-columns:116px minmax(0,1fr);gap:24px;align-items:start;margin-bottom:24px}
.detail-cover{display:block;width:100%;height:auto;filter:drop-shadow(4px 7px 6px #173c3528)}
.book-detail h2{font-size:36px;overflow-wrap:anywhere;margin-bottom:10px}
.book-detail p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.cover{transition:none}
.cover-link:hover .cover{transform:none}
}
.tile h3{font-size:25px;margin-bottom:5px}
.tile p{font-size:14px}
.textlink{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:0;cursor:pointer;font-size:13px}
.dark{background:var(--ink);color:#f5f0df}
.dark .eyebrow{color:#ccae74}
.diamondgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.diamond{border-top:1px solid #ffffff35;padding-top:24px}
.diamond .gem{font-size:27px}
.diamond h3{font-size:27px;line-height:1.35;margin-top:15px}
.diamond p{font-size:14px;color:#c9d3c9}
.journal{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center}
.journal .still{height:430px;border-radius:0}
.list{padding:0;list-style:none}
.list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.list li:before{content:'✧';color:var(--gold);margin-right:12px}
.notice{padding:16px;background:#e9eadf;margin:20px 0;font-size:13px}
.practice{background:#eeeee3;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.practice label{display:block;font-size:12px;margin:15px 0 6px}
.practice textarea,.practice input{width:100%;border:1px solid #c6cec0;padding:11px;background:#fbfaf5;color:var(--ink)}
footer{border-top:1px solid var(--line);padding:30px 0;font-size:12px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
dialog{border:0;max-width:650px;width:90%;padding:35px;background:var(--bg);color:var(--ink)}
dialog::backdrop{background:#082e25ad}
.close{float:right;background:transparent;border:0;font-size:24px;cursor:pointer}
[hidden]{display:none!important}
@media(max-width:750px){.nav{padding:16px 5%}
.logo{font-size:14px}
nav{gap:14px}
nav a{font-size:11px}
.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:45px;gap:30px}
h1{letter-spacing:-2px}
.still{height:370px}
.strip{font-size:9px;letter-spacing:1px}
.section{padding-top:55px;padding-bottom:55px}
.sectionhead{display:block}
.grid{grid-template-columns:repeat(2,1fr);gap:18px}
.coverwrap{height:218px;padding:18px 12px}
.book-detail{grid-template-columns:78px minmax(0,1fr);gap:16px}
.book-detail h2{font-size:25px}
dialog{padding:24px}
.tile h3{font-size:22px}
.diamondgrid,.journal,.practice{grid-template-columns:1fr}
.journal{gap:30px}
.diamondgrid{gap:20px}
.journal .still{height:370px}
.practice{padding:22px}
}
