@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');
:root{--navy:#17365d;--deep:#102844;--gold:#c9a85b;--cream:#fbf7ef;--paper:#fffdf9;--ink:#202b39;--muted:#657284;--line:#e8e0d4;--max:1180px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:#fdfcf9;border-bottom:1px solid #e7e2d9;box-shadow:0 8px 24px #1028440c}.nav{min-height:86px;display:flex;align-items:center;gap:28px}.brand{font:700 23px/1.05 Fraunces,Georgia,serif;letter-spacing:.035em;color:var(--navy);white-space:nowrap}.brand small{display:block;font:600 10px/1.4 'DM Sans',sans-serif;letter-spacing:.22em;color:#9b7b39;margin-top:5px}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2vw,28px);margin-left:auto;font-size:14px;font-weight:600}.nav-links a{padding:8px 0;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a.active{border-color:var(--navy)}.nav-links .nav-cta{padding:11px 16px;background:var(--gold);border-radius:3px;color:var(--deep);border:0}.menu{display:none;margin-left:auto;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:4px;color:var(--navy);font:inherit}.hero{background:linear-gradient(115deg,#f8f4ec,#f1e6d1);padding:72px 0 76px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#997832}.hero h1,.page-title{font:600 clamp(42px,5.2vw,68px)/1.06 Fraunces,Georgia,serif;color:#080d14;letter-spacing:-.035em;margin:13px 0 18px}.hero p{font-size:18px;color:#3e4a58;max-width:610px}.hero-image{width:100%;height:390px;object-fit:cover;border-radius:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;background:var(--navy);color:white;font-weight:700;border-radius:3px;border:1px solid var(--navy);cursor:pointer}.button:hover{background:var(--deep)}.button.gold{background:var(--gold);border-color:var(--gold);color:var(--deep)}.button.outline{background:transparent;color:var(--navy)}.page-hero{padding:54px 0 38px;background:linear-gradient(110deg,#f7f3ec,#f1e8d8);text-align:center}.page-hero .page-title{max-width:920px;margin:12px auto 18px}.page-hero p{max-width:760px;margin:0 auto;color:#4d5968;font-size:17px}.page-body{padding:54px 0 78px}.section{padding:66px 0}.section.white{background:var(--paper)}.section-heading{font:600 clamp(31px,4vw,44px)/1.15 Fraunces,Georgia,serif;color:var(--deep);margin:0 0 12px}.intro{max-width:740px;color:var(--muted);margin:0 0 28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:3px}.card h3{font:600 23px/1.2 Fraunces,Georgia,serif;color:var(--navy);margin:0 0 8px}.card p{color:var(--muted);margin:0 0 15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.split img{width:100%;max-height:470px;object-fit:cover}.callout{background:#f0e7d6;border-left:4px solid var(--gold);padding:24px}.callout h3{font:600 25px Fraunces,Georgia,serif;margin:0 0 8px;color:var(--navy)}.book-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.book-card{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;background:white;border:1px solid var(--line);padding:18px}.book-card img{height:170px;width:100%;object-fit:cover}.book-card h3{font:600 24px Fraunces,Georgia,serif;color:var(--navy);margin:0 0 6px}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.topic{padding:16px 18px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold)}.topic strong{display:block;color:var(--navy)}.topic span{font-size:14px;color:var(--muted)}.form-panel{background:white;border:1px solid var(--line);padding:28px;box-shadow:0 12px 32px #1028440a}.form-panel h2{font:600 28px Fraunces,Georgia,serif;color:var(--navy);margin:0 0 4px}.form-panel>p{color:var(--muted);margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:700;color:var(--navy)}input,select,textarea{width:100%;font:inherit;font-size:14px;padding:11px 12px;border:1px solid #d7d1c7;border-radius:2px;background:#fff;color:var(--ink)}textarea{min-height:115px;resize:vertical}.note{font-size:12px;color:var(--muted);margin:14px 0 0}.buy-band{background:var(--deep);color:white;padding:44px 0}.buy-band .inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.buy-band h2{font:600 34px Fraunces,Georgia,serif;margin:0 0 5px}.buy-band p{color:#d6deea;margin:0}.site-footer{background:#0c2038;color:#d7e0e9;padding:28px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-brand{font:600 18px Fraunces,Georgia,serif;color:white}.footer-links{display:flex;gap:17px;flex-wrap:wrap}.article-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-box{background:white;border:1px solid var(--line);padding:26px}.muted{color:var(--muted)}
@media(max-width:1000px){.nav{gap:14px}.brand{font-size:19px}.nav-links{gap:13px;font-size:13px}.hero-grid{gap:30px}.hero-image{height:330px}}@media(max-width:780px){.nav{min-height:74px}.menu{display:block}.nav-links{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:14px 22px 22px;flex-direction:column;align-items:stretch;gap:4px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-links a{padding:9px}.hero-grid,.split{grid-template-columns:1fr}.hero{padding:48px 0}.hero-image{height:310px}.cards{grid-template-columns:1fr 1fr}.book-list{grid-template-columns:1fr}.buy-band .inner{align-items:flex-start;flex-direction:column}}@media(max-width:540px){.wrap{width:calc(100% - 30px)}.brand{font-size:17px}.hero h1,.page-title{font-size:43px}.hero p{font-size:16px}.cards,.topic-grid,.form-grid,.article-list{grid-template-columns:1fr}.field.full{grid-column:auto}.book-card{grid-template-columns:110px 1fr;padding:12px;gap:14px}.book-card img{height:145px}.section,.page-body{padding:45px 0}.page-hero{padding:42px 0 30px}.form-panel{padding:18px}.footer-inner{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Expanded editorial sections inspired by a detailed author/book website */
.text-link{display:inline-block;color:var(--navy);font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:2px}.text-link:hover{color:#98742f}.detail-added .card{transition:transform .18s ease,box-shadow .18s ease}.detail-added .card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #10284410}.detail-added .eyebrow{margin-bottom:8px}.nav-links{gap:clamp(8px,1.25vw,19px);font-size:13px}.nav-links a{white-space:nowrap}.nav-links a.active{color:var(--navy);font-weight:800;border-bottom:2px solid var(--gold)}.site-header{box-shadow:0 8px 24px #10284412}.section-heading{max-width:850px}.card{min-height:100%}.callout p{margin-bottom:0}@media(max-width:1100px){.nav{flex-wrap:wrap;padding:12px 0}.nav-links{gap:12px;flex-wrap:wrap}.brand{font-size:20px}}

/* Subtle three-dot page-navigation animation */
.page-transition{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:9px;background:rgba(16,40,68,.94);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;pointer-events:none}.page-transition.show{opacity:1;visibility:visible}.transition-dot{width:9px;height:9px;border-radius:50%;background:#d2b365;animation:luminaDot .65s ease-in-out infinite alternate}.transition-dot:nth-child(2){animation-delay:.13s}.transition-dot:nth-child(3){animation-delay:.26s}@keyframes luminaDot{from{transform:translateY(0) scale(.8);opacity:.55}to{transform:translateY(-9px) scale(1.15);opacity:1}}@media(prefers-reduced-motion:reduce){.page-transition{transition:none}.transition-dot{animation:none}}

/* Refined interaction and motion layer */
html{scroll-behavior:smooth}
.site-header{transition:box-shadow .25s ease,background .25s ease}
.nav-links a:not(.nav-cta){position:relative;transition:color .22s ease,transform .22s ease}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--gold);transition:right .24s ease}
.nav-links a:not(.nav-cta):hover{transform:translateY(-2px);color:#98742f}
.nav-links a:not(.nav-cta):hover::after{right:0}
.nav-links a.active{position:relative}
.nav-links a.active::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin:0 7px 2px 0;box-shadow:0 0 0 3px #c9a85b22}
.button,.nav-cta{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.button:hover,.nav-cta:hover{transform:translateY(-3px);box-shadow:0 9px 20px #10284420}
.button:active,.nav-cta:active{transform:translateY(-1px) scale(.985)}
.button::after{content:"";position:absolute;top:-80%;left:-55%;width:35%;height:260%;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:rotate(22deg);transition:left .55s ease}
.button:hover::after{left:130%}
.card,.book-card,.topic,.contact-box,.form-panel,.callout{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.card:hover,.book-card:hover,.topic:hover,.contact-box:hover{transform:translateY(-5px);box-shadow:0 15px 32px #10284412;border-color:#d7c18b}
.hero-image{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;transform:translateZ(0)}
.hero-image:hover{transform:scale(1.018) rotate(-.35deg);filter:saturate(1.06)}
.book-card img,.split img{transition:transform .6s ease,filter .5s ease}
.book-card:hover img{transform:scale(1.025);filter:saturate(1.08)}
.eyebrow{transition:letter-spacing .25s ease}
.eyebrow:hover{letter-spacing:.23em}
/* Gentle reveal as content enters view */
.js-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.js-reveal.is-visible{opacity:1;transform:translateY(0)}
.cards .js-reveal:nth-child(2),.book-list .js-reveal:nth-child(2){transition-delay:.08s}
.cards .js-reveal:nth-child(3){transition-delay:.15s}
/* A few quiet floating glints in the hero, not a busy particle effect */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::after{content:"✦";position:absolute;right:5.5%;top:15%;font-size:25px;color:#c9a85b88;pointer-events:none;animation:luminaGlint 4.5s ease-in-out infinite}
.hero::before{content:"";position:absolute;right:2%;bottom:10%;width:115px;height:115px;border:1px solid #c9a85b30;border-radius:50%;pointer-events:none;animation:luminaOrbit 18s linear infinite}
@keyframes luminaGlint{0%,100%{opacity:.35;transform:translateY(0) rotate(0) scale(.85)}50%{opacity:1;transform:translateY(-10px) rotate(35deg) scale(1.08)}}
@keyframes luminaOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-reveal{opacity:1;transform:none}}
