*{
box-sizing:border-box;
margin:0;
padding:0;
}
.pangolin-regular {
  font-family: "Pangolin";
  font-weight: 400;
  font-style: normal;
}


body{
background-color:rgb(255,245,222);
background-image:url("https://www.transparenttextures.com/patterns/cream-paper.png");

font-family: "Pangolin";
color:darkred;
line-height:1.5rem;
}

.hero{
height:80vh;
position:relative;
overflow:hidden;
}

.hero-text{ 
position:absolute; 
top:50%; left:50%; 
transform:translate(-50%,-50%); 
color:rgb(243, 241, 240); 
text-align:center; 
width:100%;
max-width:900px;
} 

.hero-text h1{
font-size:clamp(1.8rem, 5vw, 3.6rem);
line-height:clamp(2.2rem, 6vw, 5rem);
letter-spacing:.12em;
padding:0 15px;
}

.hero-text2{
font-size:clamp(1rem, 2.5vw, 1.8rem);
line-height:clamp(1.4rem, 3vw, 2rem);
padding:15px 15px 0;
}

.hero img{
width:100%;
height:100%;
object-fit:cover;
filter:brightness(.85);
}

.author{
font-family: "Pangolin";
font-size:1.2rem;
font-weight:400;
}

.recipe-label{
color:#002A8F;
font-weight:bold;
font-size:1.1em;
}

.serving-bar{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 5%;
font-size:1.2rem;
}

.servings button{
background:darkred;
color:white;
border:none;
padding:8px 15px;
margin-left:6px;
border-radius:6px;
cursor:pointer;
font-family:"Pangolin";
transition:0.25s;
}

.servings button:hover{
background:#002A8F;
}

.recipe-layout{
display:grid;
grid-template-columns:1fr 2fr;
gap:40px;
padding:40px 5%;
align-items:stretch;
}

.ingredient-list li,
.instructions li,
.history li{
margin-bottom:16px;
line-height:1.3;
}

.instructions h2{
margin-bottom:20px;
}

.history h2{
margin-bottom:20px;
}

.ingredients ul{
margin-top:10px;
padding-left:20px;
}

.ingredient-list{
list-style:none;
padding-left:0;
margin-top:10px;
}

.ingredient-list li{
margin-bottom:12px;
}

.ingredient-list label{
display:flex;
align-items:center;
gap:10px;
cursor:pointer;
}

.ingredient-list input[type="checkbox"]{
appearance:none;
width:16px;
height:16px;
border:2px solid rgb(255,245,222);
background:rgb(255,245,222);
border-radius:3px;
cursor:pointer;
position:relative;
}

.ingredient-list input[type="checkbox"]:checked{
background:#002A8F;
border:2px solid rgb(255,245,222);
}

.ingredients-column{
display:flex;
flex-direction:column;
}

.ingredients-title{
font-family: "Pangolin";
font-size:1.6rem;
margin-bottom:5px;
padding-left: 110px;
}

.ingredients{
background:#8b1e1e;
padding:30px;
color:rgb(255,245,222);
font-family: "Pangolin";
min-height:300px;
border-radius:10%;
position:relative;
font-size: 0.9rem;
}

.steps{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
height:100%;
}

.instructions{
text-align: center;
font-size: 1rem;
}

.instructions ol{
padding-left:1.5em; 
}

.instructions li{
margin-bottom:16px;
line-height:1.3;
padding-left:0.3em; 
}

.step-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px;
}

.step-card{
background:white;
padding:10px 10px 15px 10px;
box-shadow:0 10px 20px rgba(0,0,0,.25);
text-align:center;
transform:rotate(-2deg);
}

.step-card:nth-child(even){
transform:rotate(2deg);
}

.step-img{
width:100%;
aspect-ratio:1/1;
background:#f1d4c7;
overflow:hidden;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:8px;
}

.step-img img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.step-card p{
font-size:13px;
}

.photo-strip{
display:flex;
justify-content:center;
gap:40px;
padding:30px 5%;
margin-bottom:20px;
}

.polaroid{
background:white;
padding:12px 12px 35px 12px;
box-shadow:0 10px 20px rgba(0,0,0,.25);
width:100%;
max-width:260px;
text-align:center;
transform:rotate(-2deg);
}

.polaroid:nth-child(2){
transform:rotate(2deg);
}

.polaroid img{
width:100%;
display:block;
}

.polaroid p{
margin-top:10px;
font-size:17px;
}

.history{
text-align:center;
padding:10px 10% 60px 10%;
}

.flag{
width:40px;
margin:0 10px;
}

.serving-bar{
position:relative;
padding-bottom:40px;
}

.serving-bar::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:20px;
background:
radial-gradient(circle at 12px -6px,#e6d7c6 14px,transparent 15px)
repeat-x;
background-size:24px 20px;
}

.photo-strip{
position:relative;
padding-bottom:60px;
margin-bottom:40px;
}

.photo-strip::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:20px;
.history-list{
list-style-position:inside;
padding-left:0;
margin-top:15px;
}

.history-list li{
margin-bottom:18px;
line-height:1.35;
}

background:
radial-gradient(circle at 12px -6px,#e6d7c6 14px,transparent 15px)
repeat-x;

background-size:24px 20px;
}

@media (max-width:900px){

.hero{
height:clamp(300px, 60vh, 80vh);
}

.hero-text h1{
font-size:3rem;
padding:0 20px;
}

.recipe-layout{
grid-template-columns:1fr;
gap:40px;
}

.steps{
grid-template-columns:1fr;
gap:40px;
}

.step-grid{
grid-template-columns:1fr 1fr;
}

.ingredients-column{
order:1;
}

.instructions{
order:2;
text-align:center;
}

.step-grid{
order:3;
}

.photo-strip{
order:4;
flex-direction:column;
align-items:center;
}

.history{
order:5;
text-align:center;
}

.polaroid{
width:80%;
}

.serving-bar{
flex-direction:column;
gap:10px;
}
}