body {
    font-family: 'Inter', serif;
    margin: 0;
    background-color: #fffaf7;
    color: #654E4E;
}
header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1.5rem 2rem;
}
.title-row {
display: flex;
align-items: flex-end; /* aligns bottoms of text and image */
justify-content: center;
margin-left: -3rem;
}
.title-container h2 {
align-items: center;
font-size: 1.2rem;
font-weight: normal;
}
.title-icon {
height: 10rem;         /* large icon size */
margin-bottom: -2rem; /* adjust until base aligns with text baseline */
margin-left: -0.5rem;   /* adjust to align with text */
margin-right: -5rem; /* space between text and icon */
}
.logo-container {
display: flex;
align-items: center;
gap: 10px;
}
.logo {
height: 10rem;
}
.logo-text {
font-family: 'Candara', sans-serif;
font-size: 1.25rem;
font-weight: bold;
margin-left: -2.0rem;   /* adjust to align with text */
}
.auth {
font-size: 1.2rem;
}
.auth a {
text-decoration: none;
color: inherit;
font-weight: 600;
display: inline-flex;
align-items: center;
margin-left: -7rem;
}
.auth a img {
height: 25px;
margin-left: 1px;
filter: contrast(200%) brightness(200%);
}
main {
text-align: center;
}
h1 {
font-size: 2.2rem;
margin-bottom: 0.25rem;
}
.search-bar {
display: flex;
justify-content: center;
align-items: center;
max-width: 600px;
margin: 0 auto 3rem;
padding: 0.5rem 1rem;
background-color: white;
border: 1px solid #bfa89b;
border-radius: 6px;
}
.search-bar img {
height: 50px;
margin-right: 8px;
}
.search-bar input {
border: none;
flex: 1;
padding: 0.5rem;
font-size: 1rem;
outline: none;
background-color: transparent;
}
.search-bar button {
background-color: #654E4E;
color: white;
border: none;
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
}
.features-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
max-width: 800px;
margin: 0 auto;
}
.feature-card {
background: white;
border: 1px solid #e2dcd6;
padding: 1.25rem;
border-radius: 7px;
text-align: left;
}
.feature-card img {
height: 7rem;
margin-left: -1.7rem;
}
.feature-card h3 {
margin: 0.25rem 0;
font-size: 1.5rem;
}
.feature-card p {
font-size: 1.0rem;
}
footer {
text-align: center;
font-size: 0.85rem;
margin-top: 3rem;
padding-bottom: 1rem;
}
@media (max-width: 768px) {
header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.title-row {
    flex-direction: column;
    align-items: center;
    margin-left: 0;
}

.title-icon {
    height: 6rem;
    margin: 0;
}

h1 {
    font-size: 1.8rem;
    text-align: center;
}

.title-container h2 {
    font-size: 1rem;
    margin-top: 0.5rem;
    text-align: center;
}

.search-bar {
    flex-direction: column;
    gap: 0.5rem;
}

.search-bar input {
    width: 100%;
}

.features-grid {
    grid-template-columns: 1fr;
    padding: 0 1rem;
}

.auth a {
    margin-left: 0;
}

.logo {
    height: 5rem;
}

.logo-text {
    margin-left: 0;
    font-size: 1rem;
}
}
