/* =========================
BASE
========================= */

body{
font-family:'Inter',sans-serif;
font-size:16px;
line-height:1.6;
color:#333;
margin:0;

background:
url("/img/paper-texture.png"),
#faf8f5;

background-size:400px;
}

/* =========================
CONTAINER
========================= */

.container{
max-width:1100px;
margin:auto;
padding:0 24px;
}

/* =========================
LINKS
========================= */

a{
text-decoration:none;
color:#333;
}

/* =========================
HEADINGS
========================= */

h1,h2,h3{
font-family:'Playfair Display',serif;
margin-top:0;
}

/* =========================
HEADER
========================= */

.main-header{
font-family:'Playfair Display',serif;
border-bottom:1px solid #eee;
padding:20px 0;
background:white;
position:sticky;
top:0;
z-index:10;
}

.main-header .container{
display:flex;
justify-content:space-between;
align-items:center;
}

.main-nav ul{
list-style:none;
display:flex;
gap:24px;
margin:0;
padding:0;
}

/* HERO */

.hero{
text-align:center;
padding:40px 0 25px;
}

.hero h1{
font-size:2.4rem;
margin-bottom:10px;
}

.hero-content{
max-width:680px;
margin:auto;
}

/* =========================
BUTTON
========================= */

.btn{
display:inline-block;
background:#356fa6;
color:white;
padding:12px 20px;
border-radius:8px;
margin-top:18px;
transition:.25s;
}

.btn:hover{
background:#2b5d8c;
transform:translateY(-2px);
}

/* INTRO */

.intro{
padding:20px 0 10px;
}

.intro-text{
max-width:620px;
margin:auto;
}

/* CONSTELLATION SECTION */

.constellation{
background-image:url("/img/bg-constellation.jpg");
background-size:cover;
background-position:center;

padding:15px 0 45px;

text-align:center;

color:white;
}

.section-title{
text-align:center;
font-size:1.9rem;
margin-top:0;
margin-bottom:18px;
color:white;
}

.constellation .section-title{
letter-spacing:0.03em;
text-shadow:0 1px 3px rgba(0,0,0,0.2);
}

.constellation-layout{

position:relative;

display:grid;

grid-template-columns:repeat(3,160px);

justify-content:center;

gap:160px;

margin-top:80px;

align-items:center;
}

.book-node:nth-child(1){
transform:translate(-70px,20px);
}

.book-node:nth-child(2){
transform:translateY(-70px);
}

.book-node:nth-child(3){
transform:translate(70px,25px);
}


/* rectangular book covers */

.book-node img{

width:100px;
height:140px;

object-fit:cover;

border:3px solid rgba(255,255,255,.85);

box-shadow:
0 10px 25px rgba(0,0,0,0.15),
0 0 30px rgba(255,255,255,0.15);

transition:all 0.3s ease;
}

.book-node:nth-child(1) img{
transform:rotate(-2deg);
}

.book-node:nth-child(2) img{
transform:rotate(1.5deg);
}

.book-node:nth-child(3) img{
transform:rotate(-1deg);
}

/* hover */

.book-node:hover img{

transform:scale(1.05) rotate(0deg);

box-shadow:
0 15px 35px rgba(0,0,0,0.2),
0 0 50px rgba(255,255,255,0.25);
}

/* titles */

.book-node h3{

color:white;

font-size:.9rem;

margin-top:10px;

font-weight:500;

text-shadow:0 1px 3px rgba(0,0,0,0.2),0 2px 6px rgba(0,0,0,0.35);
}

.book-node:nth-child(2) h3{
text-shadow:0 1px 4px rgba(0,0,0,0.45),0 2px 8px rgba(0,0,0,0.5);
}

/* READING SECTION */

.reading-together{
padding:20px 0;
}

.reading-together-text{
max-width:620px;
margin:auto;
}

/* AUTHOR */

.author-section{
background:#f9f9f9;
padding:30px 0;
}

.author-layout{
display:grid;
grid-template-columns:220px 1fr;
gap:35px;
align-items:center;
}

.author-photo img{
width:220px;
height:300px;
object-fit:cover;
border-radius:14px;
}

/* FIND BOOKS */

.find-books{
padding:25px 0 30px;
text-align:center;
}

.book-links{
display:flex;
gap:12px;
justify-content:center;
flex-wrap:wrap;
margin-top:16px;
}

/* =========================
FOOTER
========================= */

.main-footer{
background:#333;
color:#ccc;
text-align:center;
padding:16px 0;
margin-top:25px;
}

.footer-content{
display:flex;
justify-content:center;
align-items:center;
gap:12px;
flex-wrap:wrap;
}

.social-link{
display:flex;
align-items:center;
gap:6px;
color:white;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

.constellation-layout{
grid-template-columns:repeat(2,220px);
gap:60px;
}

.author-layout{
grid-template-columns:1fr;
text-align:center;
}

}

@media(max-width:480px){

.constellation-layout{
grid-template-columns:1fr;
gap:40px;
}

.hero h1{
font-size:2rem;
}

.main-header .container{
flex-direction:column;
gap:8px;
}

.main-nav ul{
gap:16px;
}

.main-nav a{
font-size:.95rem;
}

}

.find-books .section-title{
color:#333;
}
