:root{--cream:#f8f4ec;--ink:#1b2924;--forest:#143b2e;--gold:#bc8d3c;--muted:#69736d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(6vw,20px);background:#f8f4ec;position:relative;z-index:2}.logo{font-family:Georgia,serif;font-weight:bold;letter-spacing:.08em;font-size:21px;line-height:1.1}.logo span{color:#a8792f}.logo small{display:block;font:9px Arial,sans-serif;letter-spacing:.19em;margin-top:8px;color:#66736b}.top nav{display:flex;gap:26px;font-size:13px;font-weight:600}.top nav a:hover,.footerlinks a:hover{color:var(--gold)}.hero{min-height:580px;background:radial-gradient(circle at 85% 30%,#315947 0,transparent 34%),linear-gradient(120deg,#102d24,#1c4535);color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:90px max(8vw,25px)}.hero-inner{max-width:690px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;color:var(--gold);margin:0 0 22px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.14;margin:0}h1{font-size:clamp(43px,6vw,80px)}h2{font-size:clamp(34px,4.3vw,57px)}h1 em,h2 em{font-weight:normal;color:#d3ad6b}.hero p:not(.eyebrow){font-size:17px;max-width:520px;color:#e0e8df;margin:26px 0 35px}.btn{display:inline-block;background:#c69a53;color:#102d24;font-weight:700;font-size:13px;letter-spacing:.04em;padding:15px 23px;border-radius:2px}.btn span{margin-left:16px}.hero-mark{font:normal 350px Georgia,serif;opacity:.09;transform:rotate(-9deg)}.hero-mark span{font-size:110px}.section{padding:100px max(8vw,25px);max-width:1500px;margin:auto}.section>h2{margin-bottom:50px}.books{display:grid;gap:24px}.book{display:grid;grid-template-columns:minmax(200px,310px) 1fr;gap:7%;align-items:center;padding:45px;background:white;border:1px solid #e8e3d8;border-radius:5px}.cover{display:flex;align-items:center;justify-content:center;min-height:290px}.cover img{width:100%;max-height:420px;object-fit:contain;filter:drop-shadow(0 14px 13px #0002)}.book h3{font-size:clamp(30px,3.5vw,49px)}.subtitle{font:italic 24px Georgia,serif;color:#ad7d32;margin:5px 0 22px}.book-copy>p:not(.eyebrow){max-width:610px}.hook{font-family:Georgia,serif;font-weight:bold;font-size:22px;line-height:1.4}.meta{font-size:13px;color:#64736a;font-weight:bold;margin-top:24px}.mathos{background:#102c23;color:white;border-color:#102c23}.mathos .meta{color:#d6c9ac}.mathos .subtitle{color:#e5b84f}.symbolic{background:#e8eee9;flex-direction:column;gap:12px;text-align:center;color:#31513b;border:1px dashed #b6c4b9;min-height:320px}.symbolic span{font-size:65px}.symbolic strong{font:24px Georgia,serif}.symbolic small{font-size:11px}.about{background:#eae6dc;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:100px max(8vw,25px)}.about p:not(.eyebrow){font-size:17px}.closing{text-align:center;padding:100px 20px}.closing p:last-child{color:var(--muted)}footer{background:#102c23;color:#e9eee8;display:flex;justify-content:space-between;padding:30px max(8vw,25px);font-size:13px}footer strong,footer small{display:block}footer small{color:#9baca2;margin-top:8px}.footerlinks{display:flex;gap:22px}@media(max-width:700px){.top{padding:17px 18px;align-items:flex-start}.logo{font-size:17px}.top nav{gap:12px;font-size:11px;margin-top:5px}.hero{min-height:530px;padding:65px 25px}.hero-mark{display:none}.section{padding:65px 18px}.book{display:block;padding:26px 22px}.cover{min-height:220px;margin-bottom:24px}.cover img{max-height:340px;max-width:250px}.about{grid-template-columns:1fr;gap:12px;padding:70px 25px}footer{gap:22px;flex-wrap:wrap}}

.author-photo{width:min(100%,330px);height:350px;object-fit:cover;object-position:center 38%;border-radius:4px;margin:0 0 25px;display:block}.gallery{margin-top:52px}.gallery h3{font-size:28px;margin-bottom:22px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#e9e7e1;border-radius:5px;padding:8px}.press{margin-top:26px}.press img{width:100%;max-width:450px;display:block;border:1px solid #d1ccc0}.press p{font-size:12px!important;color:#69736d}@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.author-photo{height:310px}}

.book-link{margin-top:12px}.mathos .book-link{background:#d3ad6b}.subhero{padding:82px max(8vw,25px);background:#193c30;color:#fff}.subhero h1{font-size:clamp(38px,5vw,67px)}.subhero p{max-width:670px}.subhero.loh{background:#e9e0cc;color:#21342c}.subhero.fire{background:#dfece9;color:#153e42}.subcontent{max-width:1150px;margin:auto;padding:65px 25px}.subgrid{display:grid;grid-template-columns:300px 1fr;gap:55px;align-items:center}.subgrid img{width:100%;max-height:460px;object-fit:contain;filter:drop-shadow(0 14px 14px #0002)}.subgrid h2{font-size:clamp(29px,3.5vw,46px)}.cover-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:35px}.cover-list img{width:100%;height:320px;object-fit:contain}.back{display:inline-block;margin:35px 0;color:#805b2d;text-decoration:underline}.subcontent p{font-size:17px;max-width:680px}.legal-note{max-width:720px;margin:45px auto;padding:25px;background:#fff5d9;border-left:4px solid #a47d30}@media(max-width:700px){.subgrid{grid-template-columns:1fr;gap:20px}.subgrid img{max-height:350px}.cover-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-list img{height:240px}.subhero{padding:65px 22px}}

/* Version 5: accessibility and mobile polish */
html { scroll-behavior:smooth; }
:focus-visible { outline:3px solid #b87933; outline-offset:4px; }
img { max-width:100%; height:auto; }
.legal { max-width:820px; min-height:65vh; }
.legal p { line-height:1.75; }
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto;} *, *::before, *::after { animation-duration:0.01ms!important; transition-duration:0.01ms!important; } }
@media (max-width: 600px) { .top { gap:14px; } .top nav { flex-wrap:wrap; } .hero h1 { overflow-wrap:normal; } }
