:root {
  --background: #f9f8f5; --paper: #fff; --ink: #22292a; --muted: #747b7b;
  --wine: #8d1939; --wine-dark: #661329; --border: #e8e5df;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{min-height:100%}
body{min-height:100vh;min-height:100svh;margin:0;display:flex;flex-direction:column;background:var(--background);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--wine);outline-offset:5px;border-radius:4px}
.container{width:min(1110px,calc(100% - 80px));margin:0 auto}
.skip-link{position:absolute;z-index:10;left:18px;top:-90px;padding:12px;background:white}
.skip-link:focus{top:12px}
.site-header{border-bottom:1px solid var(--border)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{font:500 39px/1 var(--serif);letter-spacing:-.1em}
.brand-mark span{color:var(--wine)}
.brand-copy{display:flex;flex-direction:column;gap:1px}
.brand-copy strong{font-size:12px;letter-spacing:.22em}
.brand-copy small{color:var(--muted);font-size:11px}
.header-meta{font-size:11px;font-weight:500;color:#7b7e7d;letter-spacing:.01em}
.header-meta span{color:var(--wine);padding:0 12px}
.main-content{flex:1 0 auto;display:flex;align-items:center}
.home-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(44px,6vw,100px);align-items:center;padding-block:44px 54px}
.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--wine);margin:0 0 25px}
.line{height:1px;width:25px;background:var(--wine)}
h1{margin:0;font-size:clamp(46px,4.7vw,65px);line-height:1.16;font-weight:600;letter-spacing:-.06em}
h1 em{font-family:var(--serif);font-weight:500;color:var(--wine)}
.intro-description{max-width:470px;font-size:15px;line-height:1.85;color:#626b6b;margin:24px 0 0}
.author-line{margin:37px 0 0;font-size:11px;color:#898e8b}
.author-line span{color:var(--wine);padding:0 7px}
.subjects{min-width:0}
.subjects-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:18px}
.section-kicker{font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--wine)}
h2{font-size:27px;font-weight:600;letter-spacing:-.045em;margin:5px 0 0}
.subject-count{color:#8c8c88;font-size:11px;white-space:nowrap;padding-bottom:4px}
.subject-card{min-height:123px;padding:17px 17px 17px 18px;background:var(--paper);border:1px solid #e6e2dc;display:flex;align-items:center;gap:18px;transition:box-shadow .2s,border-color .2s,transform .2s}
.subject-card:hover{border-color:#d4c9c6;box-shadow:0 10px 28px #342c2510;transform:translateY(-2px)}
.subject-icon{width:78px;height:82px;flex:0 0 78px;background:linear-gradient(160deg,#f2e5e1,#e3e9e1);display:grid;place-items:center;color:#7c3441;border-radius:3px}
.subject-icon svg{width:61px;height:61px}
.subject-info{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}
.subject-type{font-size:9px;font-weight:700;color:var(--wine);letter-spacing:.075em}
.subject-name{font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.03em}
.subject-desc{color:#777f7d;font-size:11px;line-height:1.4}
.subject-action{flex:0 0 auto;display:grid;place-items:center;border:1px solid #e3d5d7;color:var(--wine);width:31px;height:31px;border-radius:50%;font-size:17px;transition:color .2s,background .2s}
.subject-card:hover .subject-action{background:var(--wine);color:white}
.subjects-note{margin:16px 0 0;font-size:11px;color:#8b908e}
.site-footer{border-top:1px solid var(--border);background:#f5f4f1}
.footer-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.creator{display:flex;align-items:center;gap:13px;min-width:0}
.creator-logo{width:75px;height:49px;object-fit:contain;border-radius:3px;background:#0b0b0b;flex:0 0 75px}
.creator-copy{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:11px;color:#646c6b}
.creator-copy a{font-size:11px;color:var(--wine);overflow-wrap:anywhere}
.creator-copy a:hover{text-decoration:underline;text-underline-offset:3px}
.copyright{font-size:10px;color:#90928f;white-space:nowrap}
@media(max-width:820px){.container{width:calc(100% - 52px)}.home-grid{grid-template-columns:1fr;max-width:600px;gap:43px;padding-block:46px 50px}.intro h1{font-size:clamp(42px,7.5vw,55px)}.author-line{margin-top:24px}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.header-inner{min-height:68px}.header-meta{font-size:10px}.header-meta span{padding:0 4px}.brand-mark{font-size:33px}.home-grid{padding-block:42px 44px;gap:38px}h1{font-size:42px}.intro-description{font-size:14px;line-height:1.7}.author-line{font-size:10px;line-height:1.5}.subject-card{padding:13px;min-height:110px;gap:12px}.subject-icon{width:60px;height:67px;flex-basis:60px}.subject-icon svg{width:49px;height:49px}.subject-name{font-size:14.5px}.subject-type{font-size:8px}.subject-desc{font-size:10px}.subject-action{width:28px;height:28px;font-size:16px}.footer-inner{min-height:79px}.creator-logo{width:58px;height:39px;flex-basis:58px}.creator-copy,.creator-copy a{font-size:9.5px}.copyright{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
