@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root{color-scheme:light;--ink:#141e23;--muted:#505851;--paper:#f8f5ec;--deep:#101b20;--gold:#edca8e;--brown:#77531e;--rule:#d9d2c1;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans)}
a{color:inherit;text-underline-offset:.24em}
a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3{margin:0}
h1,h2,h3,.brand{font-family:var(--serif);font-weight:400;line-height:1}
section[id],div[id]{scroll-margin-top:2rem}
.shell{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.skip{position:absolute;top:10px;left:10px;z-index:2;transform:translateY(-160%);background:var(--paper);padding:.5rem}
.skip:focus{transform:none}
.site-header{background:var(--deep);color:#f8f0de;border-bottom:1px solid #ffffff24}
.header-inner,.footer-inner{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-size:clamp(1.45rem,3vw,2rem);text-decoration:none;white-space:nowrap}
.brand span{color:var(--gold);font-size:.72em}
nav{display:flex;gap:clamp(1rem,4vw,2.5rem);font-size:.88rem}
nav a,.footer-inner>a:last-child{text-decoration:none}
nav a:hover,.footer-inner>a:last-child:hover{text-decoration:underline}
.hero{color:#fbf4e7;background:radial-gradient(ellipse at 77% 44%,#424137 0%,#283239 35%,var(--deep) 75%);overflow:hidden}
.hero-inner{min-height:615px;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:clamp(2rem,6vw,5.5rem);padding-block:65px 76px}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:.65rem;color:var(--brown)}
.eyebrow span{width:24px;height:1px;background:currentColor;flex:none}
.hero .eyebrow,.about .eyebrow{color:var(--gold)}
h1{font-size:clamp(5rem,11vw,10.2rem);letter-spacing:-.035em;margin:.11em 0 .09em}
.subtitle{font:italic clamp(1.8rem,3.5vw,2.65rem)/1.05 var(--serif);color:var(--gold)}
.intro{color:#dedbd1;max-width:415px;margin-top:24px;font-size:1.04rem}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:29px}
.button{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:var(--deep);text-decoration:none;padding:.78em 1.18em;font-weight:700;font-size:.88rem;border-radius:2px}
.button:hover{background:#ffe0a9}
.paperback{font-size:.9rem;color:#fbf4e7}
.hero-art{justify-self:center;position:relative;width:min(100%,318px);perspective:1400px}
.hero-art img{width:100%;border-radius:3px 5px 5px 3px;border:1px solid #f3ce9450;transform:rotateY(-9deg) rotateZ(3deg);box-shadow:8px 3px 0 #b4a084,12px 5px 0 #313637,24px 36px 60px #000a}
.catalog{padding-block:83px 84px}
.section-head{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:13px 3rem;margin-bottom:32px}
.section-head .eyebrow{grid-column:1/-1}
h2{font-size:clamp(3rem,6vw,5.3rem);letter-spacing:-.025em}
.section-head>p:last-child{max-width:330px;color:var(--muted);padding-bottom:5px}
.showcase{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.book-card{background:#fefbf3;border:1px solid var(--rule)}
.cover-stage{height:350px;display:grid;place-items:center;overflow:hidden;padding:26px}
.cover-stage img{height:100%;min-height:0;width:auto;max-height:298px;box-shadow:10px 16px 24px #0007;border-radius:2px}
.families{background:radial-gradient(ellipse,#78654a,#333128)}
.heaven{background:radial-gradient(ellipse,#6d4933,#27262a)}
.card-copy{padding:25px 27px 29px}
h3{font-size:clamp(1.85rem,3.1vw,2.65rem)}
.card-copy p,.standalone>p{color:var(--muted);margin-top:10px;max-width:43ch}
.title-card{border-top:3px solid #a87d40}
.retailer-link{display:inline-block;margin-top:14px;color:var(--brown);font-size:.88rem;font-weight:700}
.standalone{margin-top:50px;border-block:1px solid var(--rule);padding:30px 0;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:1.5rem 3rem}
.standalone h2{font-size:clamp(2.6rem,5vw,4rem);margin-top:10px}
.marriage-subtitle{font:italic 1.5rem/1.2 var(--serif);color:var(--brown);margin-top:4px}
.about{background:#233238;color:#f8f0de}
.about-inner{display:grid;grid-template-columns:170px minmax(0,580px);justify-content:center;align-items:center;gap:clamp(2rem,6vw,5rem);padding-block:64px}
.about img{width:100%;border:1px solid #aa8a59}
.about h2{font-size:clamp(2.8rem,5.5vw,4.3rem);margin:.2em 0}
.about p:last-child{color:#e0dcd1}
footer{background:var(--deep);color:#f8f0de}
.footer-inner>a:last-child{font-size:.88rem}
@media(max-width:760px){
  .shell{width:calc(100% - 40px)}
  .hero-inner{grid-template-columns:1fr;gap:35px;padding-block:52px 58px}
  .hero-art{width:min(65%,260px);margin-top:9px}
  .section-head,.standalone{grid-template-columns:1fr;gap:13px}
  .catalog{padding-block:57px}
  .cover-stage{height:280px;padding:21px 13px}
  .cover-stage img{max-height:236px;max-width:100%;object-fit:contain}
  .about-inner{grid-template-columns:112px 1fr;gap:25px;padding-block:45px}
}
@media(max-width:480px){
  .header-inner{flex-wrap:wrap;justify-content:center;padding-block:16px;gap:10px}
  nav{width:100%;justify-content:center;gap:24px}
  .showcase{grid-template-columns:1fr}
  .about-inner{grid-template-columns:1fr;gap:20px}
  .about img{width:105px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.compact-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;align-items:start;padding:22px}
.compact-card img,.marriage-details img{width:100%;border:1px solid var(--rule)}
.compact-card .card-copy{padding:0}
.editions{display:flex;flex-wrap:wrap;gap:0 16px}
.marriage-details{display:grid;grid-template-columns:85px minmax(0,1fr);gap:18px;align-items:center}
.marriage-details p{color:var(--muted)}
.study{margin-top:50px}
.study h2{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:22px}
@media(max-width:760px){.compact-card{grid-template-columns:75px minmax(0,1fr);gap:14px;padding:17px}}

.book-title-link{text-decoration:none}
.book-title-link:hover{text-decoration:underline;text-decoration-thickness:from-font}
.book-cover-link{display:block}
.book-cover-link.cover-stage{display:grid}
