:root {
    --green:#294c29;
    --green-dark:#19381f;
    --orange:#c47b2e;
    --cream:#faf8f3;
    --ink:#1c201b;
    --muted:#72756e;
    --line:#ebe9e2
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:#fffdfa;
    color:var(--ink);
    font:15px/1.55 'DM Sans',Arial,sans-serif
}

a {
    text-decoration:none;
    color:inherit
}

button,input {
    font:inherit
}

button {
    cursor:pointer
}

.wrap {
    width:min(1190px,calc(100% - 64px));
    margin:auto
}

h1,h2,h3 {
    font-family:'Playfair Display',Georgia,serif;
    line-height:1.2
}

h2 {
    font-size:30px;
    margin:7px 0 0
}

.site-header {
    background:#fffdf9;
    border-bottom:1px solid #f0eee7;
    position:relative;
    z-index:3
}

.nav {
    height:82px;
    display:flex;
    align-items:center;
    gap:36px
}

.logo {
    font-family:'Playfair Display',Georgia,serif;
    font-size:27px;
    font-weight:800;
    color:var(--green-dark);
    font-style:italic;
    white-space:nowrap;
    letter-spacing:-1.7px
}

.logo-dot {
    color:#d24c2c
}

.navlinks {
    display:flex;
    align-items:center;
    gap:28px;
    margin:auto
}

.navlinks a {
    font-size:13px;
    font-weight:700
}

.navlinks .current {
    color:#c8563c;
    border-bottom:2px solid #c8563c
}

.nav-search {
    border:1px solid #ece9e3;
    box-shadow:0 3px 13px #00000009;
    border-radius:30px;
    padding:8px 14px;
    display:flex;
    gap:8px;
    align-items:center
}

.nav-search span {
    font-size:24px;
    line-height:1
}

.nav-search input {
    width:150px;
    border:0;
    outline:0;
    background:none;
    font-size:12px
}

.nav-fav {
    font-size:29px;
    color:#d45146
}

.hamburger {
    display:none
}

.hero {
    background:linear-gradient(100deg,#fffefa,#f6efe4);
    overflow:hidden
}

.hero-layout {
    min-height:450px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:30px
}

.hero-copy {
    padding:35px 0
}

.eyebrow {
    color:#ae732c;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px
}

.hero h1 {
    font-size:clamp(36px,4vw,56px);
    letter-spacing:-1.6px;
    margin:12px 0 20px
}

.hero p {
    max-width:410px;
    font-size:15px;
    line-height:1.75;
    margin-bottom:25px
}

.btn {
    display:inline-flex;
    align-items:center;
    gap:18px;
    background:var(--green);
    color:white;
    border:0;
    border-radius:10px;
    padding:13px 23px;
    font-weight:700;
    font-size:13px
}

.btn:hover {
    background:var(--green-dark)
}

.hero-photo {
    height:430px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center
}

.hero-photo:before {
    content:'';
    position:absolute;
    background:#efe5d6;
    border-radius:50%;
    width:450px;
    height:370px;
    transform:rotate(-13deg)
}

.hero-photo img {
    position:relative;
    width:92%;
    height:92%;
    object-fit:cover;
    border-radius:50%;
    box-shadow:0 16px 45px #36281526
}

.hero-sticker {
    position:absolute;
    right:0;
    top:45px;
    transform:rotate(14deg);
    font-family:Georgia,serif;
    font-weight:bold;
    font-style:italic;
    font-size:19px;
    text-align:center
}

.category-strip {
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:14px;
    padding-top:28px;
    padding-bottom:25px
}

.category-pill {
    text-align:center;
    font-size:12px
}

.category-pill strong {
    display:block;
    margin-top:10px;
    font-weight:700
}

.category-icon {
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    border-radius:50%;
    margin:auto;
    font-size:29px;
    color:#c66a1b;
    background:#fff0e1
}

.c1,.c4,.c6 {
    background:#eff2e9;
    color:#5c7e48
}

.c3,.c7 {
    background:#fcebe8;
    color:#c45748
}

.c5 {
    background:#e8f4f3;
    color:#33888b
}

.section-space {
    padding-top:42px;
    padding-bottom:34px
}

.section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    margin-bottom:21px;
    gap:15px
}

.view-link {
    font-size:12px;
    font-weight:800;
    color:var(--green)
}

.card-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px
}

.food-card {
    background:#fff;
    border:1px solid #efede8;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 5px 14px #00000006
}

.card-picture {
    height:185px;
    position:relative
}

.card-picture img {
    width:100%;
    height:100%;
    object-fit:cover
}

.heart {
    position:absolute;
    right:10px;
    top:10px;
    border:0;
    background:white;
    border-radius:50%;
    width:35px;
    height:35px;
    font-size:24px;
    line-height:1;
    color:#e05148;
    box-shadow:0 2px 10px #0002
}

.heart.is-saved,.outline-btn.is-saved {
    color:#df4944
}

.card-copy {
    padding:12px 13px 15px
}

.card-name {
    display:block;
    font-size:14px;
    font-weight:800;
    line-height:1.35;
    min-height:38px
}

.stars {
    color:#f19a22;
    letter-spacing:1px
}

.card-rating {
    margin-top:4px
}

.card-rating small,.rating-line small {
    color:#767872
}

.card-time {
    font-size:12px;
    color:#61675f;
    margin-top:7px
}

.banner {
    height:280px;
    background:var(--green-dark);
    border-radius:13px;
    overflow:hidden;
    position:relative;
    margin-top:10px;
    display:flex;
    align-items:center
}

.banner>img {
    position:absolute;
    right:0;
    top:0;
    height:100%;
    width:55%;
    object-fit:cover;
    mask-image:linear-gradient(to right,transparent,black 50%)
}

.banner-copy {
    position:relative;
    z-index:1;
    padding:45px 55px;
    color:white;
    max-width:490px
}

.banner-copy .eyebrow {
    color:#e7cf93
}

.banner h2 {
    font-size:34px;
    margin:10px 0
}

.banner p {
    font-size:14px
}

.btn-light {
    background:#fff1d9;
    color:var(--green-dark);
    margin-top:6px
}

.category-grid {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:15px
}

.category-card {
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    text-align:center;
    background:#fff;
    padding-bottom:12px
}

.category-card img {
    height:110px;
    width:100%;
    object-fit:cover
}

.category-card strong {
    display:block;
    font-size:13px;
    margin-top:7px
}

.category-card small {
    font-size:11px;
    color:var(--muted)
}

.latest {
    padding-bottom:80px
}

.site-footer {
    border-top:1px solid var(--line);
    background:#f6f5ef;
    padding:40px 0
}

.footer-row {
    display:flex;
    justify-content:space-between
}

.footer-row p {
    color:var(--muted);
    font-size:13px
}

.footer-row>div:last-child {
    display:flex;
    gap:25px;
    font-size:13px;
    font-weight:700
}

.recipe-main {
    padding-top:22px
}

.breadcrumb {
    font-size:12px;
    color:#7d8179;
    margin-bottom:22px
}

.breadcrumb a {
    color:#50584e
}

.recipe-hero {
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:36px;
    align-items:start
}

.main-image {
    position:relative;
    height:360px;
    border-radius:12px;
    overflow:hidden
}

.main-image>img {
    width:100%;
    height:100%;
    object-fit:cover
}

.big-heart {
    width:44px;
    height:44px;
    font-size:30px
}

.watch-video {
    position:absolute;
    right:13px;
    bottom:13px;
    background:#1d201fe6;
    color:white;
    padding:8px 16px;
    border-radius:25px;
    font-size:12px;
    font-weight:700
}

.thumb-row {
    display:flex;
    gap:8px;
    margin-top:10px
}

.thumb-row img {
    height:67px;
    width:calc(25% - 6px);
    object-fit:cover;
    border-radius:9px
}

.badges {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}

.badges span {
    background:#edf0e8;
    border-radius:30px;
    padding:5px 11px;
    color:#52634a;
    font-size:11px
}

.badges span:nth-child(2) {
    background:#fceae5;
    color:#bc6559
}

.recipe-intro h1 {
    font-size:clamp(31px,3vw,43px);
    margin:16px 0 10px;
    letter-spacing:-1px
}

.rating-line {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px
}

.recipe-intro>p {
    font-size:15px;
    line-height:1.75;
    color:#51554f;
    margin:19px 0
}

.stats-row {
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:19px 0;
    margin:20px 0
}

.stats-row>div {
    display:grid;
    grid-template-columns:30px 1fr;
    column-gap:5px;
    align-items:center
}

.stat-symbol {
    grid-row:span 2;
    font-size:27px;
    color:#819269
}

.stats-row b {
    font-size:13px
}

.stats-row small {
    font-size:10px;
    color:#797e75
}

.recipe-buttons {
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap
}

.outline-btn {
    background:white;
    border:1px solid var(--line);
    border-radius:10px;
    padding:11px 14px;
    font-weight:700;
    font-size:13px
}

.recipe-body {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:65px;
    padding-top:65px
}

.column-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}

.recipe-body h2 {
    font-size:27px;
    margin:0 0 20px
}

.servings {
    display:flex;
    align-items:center;
    border:1px solid var(--line);
    border-radius:9px;
    overflow:hidden;
    font-size:12px;
    white-space:nowrap
}

.servings button {
    border:0;
    background:#fff;
    padding:7px 10px
}

.servings span {
    font-weight:800
}

.servings small {
    margin:0 7px 0 4px
}

.ingredient-list label {
    display:flex;
    align-items:start;
    gap:12px;
    margin:0 0 17px;
    font-size:14px;
    cursor:pointer
}

.ingredient-list input {
    appearance:none;
    border:1px solid #c7cbc4;
    width:18px;
    height:18px;
    border-radius:5px;
    flex-shrink:0;
    margin:2px 0 0
}

.ingredient-list input:checked {
    background:var(--green);
    border-color:var(--green)
}

.ingredient-list input:checked:after {
    content:'✓';
    color:white;
    font-size:13px;
    display:block;
    text-align:center
}

.ingredient-list label.done .ingredient-name {
    text-decoration:line-through;
    color:#aaa
}

.step {
    display:grid;
    grid-template-columns:27px 1fr;
    gap:14px;
    margin-bottom:23px
}

.step-num {
    background:var(--green);
    color:#fff;
    width:27px;
    height:27px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:12px;
    font-weight:700
}

.step h3 {
    font:800 14px 'DM Sans',sans-serif;
    margin:1px 0 5px
}

.step p {
    font-size:13px;
    line-height:1.7;
    color:#646962;
    margin:0
}

.step-image {
    width:100%;
    max-width:350px;
    border-radius:10px;
    margin-top:12px
}

.pro-tip {
    display:flex;
    gap:15px;
    background:#eeefe5;
    border-radius:12px;
    padding:19px 22px;
    margin:28px 0
}

.pro-tip>span {
    font-size:24px;
    color:var(--green)
}

.pro-tip strong {
    font-size:15px
}

.pro-tip p {
    margin:3px 0;
    font-size:13px;
    color:#62685d
}

.extra-info {
    padding:12px 0;
    max-width:850px
}

.extra-info h2 {
    font-size:25px
}

.extra-info p {
    color:#5b6158;
    line-height:1.8
}

.related {
    padding-top:45px;
    padding-bottom:80px
}

.video-section {
    max-width:850px;
    margin:40px auto
}

.video-section video {
    width:100%;
    background:black;
    border-radius:12px;
    max-height:470px
}

@media(max-width:850px) {
    .nav {
    gap:15px
}

.navlinks {
    gap:12px
}

.nav-search input {
    width:100px
}

.hero-layout {
    min-height:370px
}

.hero-photo {
    height:340px
}

.card-grid {
    grid-template-columns:repeat(2,1fr)
}

.category-strip {
    grid-template-columns:repeat(4,1fr)
}

.category-grid {
    grid-template-columns:repeat(3,1fr)
}

.recipe-hero {
    gap:22px
}

.recipe-body {
    gap:25px
}
}

@media(max-width:600px) {
    .wrap {
    width:calc(100% - 32px)
}

.nav {
    height:66px;
    gap:12px
}

.hamburger {
    display:block;
    border:0;
    background:transparent;
    font-size:24px;
    margin-left:auto
}

.navlinks {
    display:none;
    position:absolute;
    top:66px;
    left:0;
    right:0;
    background:white;
    padding:20px;
    box-shadow:0 10px 15px #0001;
    flex-direction:column;
    align-items:start
}

.navlinks.open {
    display:flex
}

.nav-search {
    display:none
}

.nav-fav {
    font-size:25px
}

.hero-layout {
    grid-template-columns:1fr;
    gap:0
}

.hero-copy {
    padding:45px 0 10px
}

.hero h1 {
    font-size:39px
}

.hero-photo {
    height:280px
}

.hero-photo:before {
    width:290px;
    height:240px
}

.hero-photo img {
    height:95%;
    width:75%
}

.hero-sticker {
    font-size:13px;
    right:5px
}

.category-strip {
    gap:12px 5px
}

.category-icon {
    width:51px;
    height:51px
}

.category-pill {
    font-size:10px
}

.section-space {
    padding-top:27px
}

.section-head h2 {
    font-size:24px
}

.card-grid {
    gap:12px
}

.card-picture {
    height:135px
}

.card-name {
    font-size:12px
}

.card-copy {
    padding:10px
}

.banner {
    height:275px
}

.banner-copy {
    padding:25px;
    max-width:80%
}

.banner h2 {
    font-size:27px
}

.banner>img {
    width:65%;
    opacity:.4
}

.category-grid {
    gap:10px
}

.category-card img {
    height:80px
}

.category-card strong {
    font-size:11px
}

.recipe-hero,.recipe-body {
    grid-template-columns:1fr
}

.main-image {
    height:280px
}

.recipe-intro h1 {
    font-size:34px
}

.recipe-body {
    padding-top:38px
}

.recipe-intro>p {
    margin:14px 0
}

.footer-row {
    display:block
}

.footer-row>div:last-child {
    margin-top:20px
}

.related {
    padding-bottom:45px
}
}

@media print {
    .site-header,.site-footer,.recipe-buttons,.related,.heart,.watch-video,.thumb-row {
    display:none!important
}

.recipe-hero,.recipe-body {
    display:block
}

.main-image {
    height:220px
}

.wrap {
    width:100%
}
}



/* Readability and responsive refinements */
body {
    font-size:16px;
    line-height:1.7;
    color:#242923;
    background:#fffefa
}


.navlinks a,.view-link {
    font-size:14px
}

.nav-search input {
    font-size:14px
}


.hero p,.recipe-intro>p {
    font-size:17px;
    line-height:1.8;
    color:#444b42
}


.hero p {
    color:#3b433a
}

.eyebrow {
    font-size:12px;
    letter-spacing:1.6px
}


.category-pill {
    font-size:13px
}

.card-name {
    font-size:16px;
    min-height:44px
}


.card-rating,.card-time {
    font-size:14px
}

.card-rating small {
    font-size:13px
}


.category-card strong {
    font-size:15px
}

.category-card small {
    font-size:12px
}


.breadcrumb {
    font-size:14px
}

.badges span {
    font-size:13px
}


.recipe-intro h1 {
    font-size:clamp(34px,3.4vw,48px)
}

.rating-line {
    font-size:15px
}


.stats-row b {
    font-size:15px
}

.stats-row small {
    font-size:12px
}


.recipe-body h2 {
    font-size:30px
}

.ingredient-list label {
    font-size:16px;
    line-height:1.65;
    margin-bottom:18px
}


.step {
    grid-template-columns:34px 1fr;
    gap:16px;
    margin-bottom:29px
}


.step-num {
    width:34px;
    height:34px;
    font-size:15px
}


.step h3 {
    font-size:17px;
    line-height:1.5
}

.step p {
    font-size:16px;
    line-height:1.85;
    color:#4b5449
}


.pro-tip p,.extra-info p {
    font-size:16px;
    line-height:1.8
}


.food-card,.category-card {
    transition:transform .18s,box-shadow .18s
}


.food-card:hover,.category-card:hover {
    transform:translateY(-3px);
    box-shadow:0 12px 25px #00000012
}


.card-picture img,.category-card img,.main-image img {
    background:#f1ede5
}


@media(max-width:600px) {
    .hero p,.recipe-intro>p {
    font-size:16px
}

.card-name {
    font-size:14px;
    min-height:40px
}

.card-rating,.card-time {
    font-size:12px
}

.category-card strong {
    font-size:13px
}

.ingredient-list label,.step p {
    font-size:16px
}

.recipe-body {
    gap:40px
}

.recipe-main {
    padding-top:16px
}

.stats-row {
    gap:10px
}

.stats-row>div {
    grid-template-columns:24px 1fr
}

.stat-symbol {
    font-size:22px
}

.card-picture {
    height:150px
}
}



/* =========================================================
   HOMEPAGE V4 — COMPACT EDITORIAL LAYOUT (NO GIANT HERO)
   ========================================================= */
.welcome-section  {
    
    display: flex;
    
    align-items: end;
    
    justify-content: space-between;
    
    gap: 28px;
    
    padding-top: 50px;
    
    padding-bottom: 30px;
}


.welcome-section h1  {
    
    font-family: 'Playfair Display', Georgia, serif;
    
    font-size: clamp(34px, 4vw, 53px);
    
    line-height: 1.15;
    
    margin: 9px 0 13px;
}


.welcome-section p  {
    
    color: #62695e;
    
    font-size: 17px;
    
    line-height: 1.7;
    
    margin: 0;
    
    max-width: 620px;
}


.welcome-section .btn  {
     flex-shrink: 0;
}


.category-strip  {
     padding-top: 22px;
     padding-bottom: 22px;
     border-top: 1px solid var(--line);
     border-bottom: 1px solid var(--line);
}


.editorial-grid  {
     display: grid;
     grid-template-columns: 1.45fr 1fr;
     gap: 24px;
}


.editorial-feature  {
     position: relative;
     min-height: 395px;
     border-radius: 16px;
     overflow: hidden;
     background: #edf0e7;
}


.editorial-feature > a  {
     display: block;
     height: 100%;
}


.editorial-feature img  {
     display: block;
     width: 100%;
     height: 395px;
     object-fit: cover;
}


.editorial-feature-copy  {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     color: white;
     padding: 68px 28px 25px;
     background: linear-gradient(transparent, rgba(0,0,0,.78));
}


.editorial-feature-copy .eyebrow  {
     color: #ffdc9b;
}


.editorial-feature-copy h3  {
     font: 700 29px/1.25 'Playfair Display', Georgia, serif;
     margin: 9px 0;
}


.editorial-feature-copy > span:last-child  {
     font-size: 14px;
}


.editorial-side  {
     display: grid;
     gap: 14px;
}


.editorial-mini  {
     display: grid;
     grid-template-columns: 145px 1fr;
     gap: 17px;
     align-items: center;
     padding: 10px;
     border: 1px solid var(--line);
     border-radius: 13px;
     background: #fff;
}


.editorial-mini img  {
     display: block;
     width: 145px;
     height: 105px;
     object-fit: cover;
     border-radius: 9px;
}


.editorial-mini h3  {
     font: 700 18px/1.35 'Playfair Display', Georgia, serif;
     margin: 7px 0;
}


.editorial-mini small  {
     color: #657061;
     font-size: 13px;
}


.card-name  {
     line-height: 1.45;
}


@media (max-width: 850px)  {
    
    .editorial-grid  {
     grid-template-columns: 1fr;
}


    .editorial-side  {
     grid-template-columns: repeat(3, minmax(0,1fr));
}


    .editorial-mini  {
     grid-template-columns: 1fr;
}


    .editorial-mini img  {
     width: 100%;
     height: 130px;
}
}


@media (max-width: 600px)  {
    
    .welcome-section  {
     display: block;
     padding-top: 30px;
}


    .welcome-section .btn  {
     margin-top: 20px;
}


    .welcome-section p  {
     font-size: 16px;
}


    .editorial-feature, .editorial-feature img  {
     min-height: 270px;
     height: 270px;
}


    .editorial-feature-copy h3  {
     font-size: 23px;
}


    .editorial-side  {
     grid-template-columns: 1fr;
}


    .editorial-mini  {
     grid-template-columns: 110px 1fr;
}


    .editorial-mini img  {
     width: 110px;
     height: 95px;
}


    .editorial-mini h3  {
     font-size: 16px;
}
}



/* ============================================================
   HOMEPAGE V5: Compact discovery header + three equal image cards
   No oversized hero or dominant featured recipe.
   ============================================================ */
.discovery-top  {
    
    padding-top: 42px;
}


.discovery-heading  {
    
    display: flex;
    
    justify-content: space-between;
    
    align-items: end;
    
    gap: 32px;
    
    margin-bottom: 26px;
}


.discovery-heading h1  {
    
    font-size: clamp(31px, 3.7vw, 48px);
    
    margin: 8px 0 8px;
    
    letter-spacing: -1px;
}


.discovery-heading p  {
    
    font-size: 16px;
    
    color: #666c63;
    
    margin: 0;
}


.discovery-search  {
    
    display: flex;
    
    min-width: 385px;
    
    padding: 5px;
    
    background: #fff;
    
    border: 1px solid #e7e7de;
    
    border-radius: 12px;
    
    box-shadow: 0 5px 22px #1b30100a;
}


.discovery-search input  {
    
    min-width: 0;
    
    flex: 1;
    
    border: 0;
    
    outline: 0;
    
    padding: 11px 12px;
    
    font-size: 14px;
}


.discovery-search button  {
    
    background: #294c29;
    
    color: #fff;
    
    border: 0;
    
    border-radius: 9px;
    
    padding: 10px 16px;
    
    font-weight: 700;
    
    white-space: nowrap;
}


.discovery-grid  {
    
    display: grid;
    
    grid-template-columns: repeat(3, minmax(0, 1fr));
    
    gap: 18px;
}


.discovery-card  {
    
    position: relative;
    
    height: 300px;
    
    border-radius: 15px;
    
    overflow: hidden;
    
    background: #e9e6df;
}


.discovery-card a, .discovery-card img  {
    
    display: block;
    
    width: 100%;
    
    height: 100%;
}


.discovery-card img  {
    
    object-fit: cover;
    
    transition: transform .35s ease;
}


.discovery-card:hover img  {
     transform: scale(1.045);
}


.discovery-card:after  {
    
    content: '';
    
    position: absolute;
    
    inset: 35% 0 0;
    
    background: linear-gradient(transparent, rgba(0,0,0,.79));
    
    pointer-events: none;
}


.discovery-card-content  {
    
    position: absolute;
    
    z-index: 1;
    
    bottom: 20px;
    
    left: 22px;
    
    right: 22px;
    
    color: #fff;
}


.discovery-card-content span  {
    
    color: #f5d4a2;
    
    font-size: 10px;
    
    font-weight: 800;
    
    letter-spacing: 1.7px;
}


.discovery-card-content h2  {
    
    font-size: 23px;
    
    margin: 7px 0;
    
    line-height: 1.25;
}


.discovery-card-content small  {
     font-size: 12px;
}


@media (max-width: 850px)  {
    
    .discovery-heading  {
     display: block;
}


    .discovery-search  {
     margin-top: 20px;
     min-width: 0;
     max-width: 550px;
}


    .discovery-card  {
     height: 250px;
}


    .discovery-card-content h2  {
     font-size: 19px;
}
}


@media (max-width: 600px)  {
    
    .discovery-top  {
     padding-top: 26px;
}


    .discovery-heading h1  {
     font-size: 34px;
}


    .discovery-grid  {
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 11px;
}


    .discovery-card  {
     height: 230px;
}


    .discovery-card:first-child  {
     grid-column: 1 / -1;
     height: 275px;
}


    .discovery-card-content  {
     left: 13px;
     right: 13px;
     bottom: 13px;
}


    .discovery-card-content h2  {
     font-size: 18px;
}


    .discovery-search button  {
     padding: 10px;
     font-size: 12px;
}
}



/* V6: editorial sections and supplied Fordelish identity */
.brand-logo {
    display:block;
    width:154px;
    height:65px;
    object-fit:contain;
    object-position:center
}


.site-footer .brand-logo {
    width:150px;
    height:86px
}


.nav .logo {
    display:flex;
    align-items:center;
    flex:0 0 auto
}


.section-subtitle {
    font-size:14px;
    color:#777b71;
    margin:8px 0 0
}


.popular-editorial {
    display:grid;
    grid-template-columns:1.55fr 1fr 1fr;
    grid-template-rows:220px 220px;
    gap:16px
}


.popular-tile {
    position:relative;
    min-width:0;
    overflow:hidden;
    border-radius:15px;
    background:#213a27
}


.popular-tile-lead {
    grid-row:span 2
}


.popular-tile>a {
    display:block;
    width:100%;
    height:100%
}


.popular-tile img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s
}


.popular-tile:hover img,.category-editorial-card:hover img {
    transform:scale(1.055)
}


.popular-tile:after {
    content:"";
    position:absolute;
    inset:30% 0 0;
    background:linear-gradient(transparent,rgba(0,0,0,.78));
    pointer-events:none
}


.popular-tile-copy {
    position:absolute;
    z-index:1;
    bottom:20px;
    left:20px;
    right:18px;
    color:#fff
}


.popular-tile-copy h3 {
    font-size:20px;
    line-height:1.25;
    margin:6px 0 9px;
    color:white
}


.popular-tile-lead .popular-tile-copy {
    bottom:29px;
    left:30px
}


.popular-tile-lead .popular-tile-copy h3 {
    font-size:34px
}


.tile-kicker {
    font-size:10px;
    letter-spacing:1.8px;
    font-weight:800;
    color:#f6c47d
}


.tile-details {
    font-size:12px;
    color:#f4f0e8
}


.category-editorial {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px
}


.category-editorial-card {
    height:230px;
    position:relative;
    overflow:hidden;
    border-radius:16px;
    background:#e8e7df
}


.category-editorial-card img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s
}


.category-editorial-card:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(19,38,22,.83),transparent 85%)
}


.category-editorial-card>div {
    position:absolute;
    z-index:1;
    left:28px;
    top:50%;
    transform:translateY(-50%);
    color:white
}


.category-editorial-card span {
    font-size:10px;
    letter-spacing:2px;
    color:#eac88f;
    font-weight:800
}


.category-editorial-card h3 {
    font-size:28px;
    margin:7px 0 10px;
    color:white
}


.category-editorial-card small {
    font-size:13px
}


.fresh-section {
    padding-bottom:90px
}


.fresh-layout {
    display:grid;
    grid-template-columns:1.12fr 1fr;
    gap:38px
}


.fresh-spotlight {
    background:#f6f2e9;
    border-radius:15px;
    overflow:hidden
}


.fresh-spotlight>img {
    display:block;
    width:100%;
    height:310px;
    object-fit:cover
}


.fresh-spotlight-body {
    padding:24px 28px 30px
}


.fresh-spotlight-body h3 {
    font-size:29px;
    margin:8px 0
}


.fresh-spotlight-body p {
    font-size:14px;
    color:#62685e;
    line-height:1.7
}


.fresh-spotlight-body strong {
    font-size:13px;
    color:#294c29
}


.fresh-list {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:12px
}


.fresh-list-item {
    display:grid;
    grid-template-columns:125px 1fr;
    align-items:center;
    gap:18px;
    padding-bottom:13px;
    border-bottom:1px solid #ece9e0
}


.fresh-list-item img {
    width:125px;
    height:96px;
    object-fit:cover;
    border-radius:10px
}


.fresh-list-item h3 {
    font:700 17px/1.3 'DM Sans',sans-serif;
    margin:6px 0 7px
}


.fresh-list-item small {
    font-size:12px;
    color:#74786e
}


@media(max-width:850px) {
    .popular-editorial {
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(3,205px)
}

.popular-tile-lead {
    grid-column:span 2;
    grid-row:auto
}

.fresh-layout {
    gap:22px
}

.fresh-list-item {
    grid-template-columns:95px 1fr
}

.fresh-list-item img {
    width:95px;
    height:86px
}
}


@media(max-width:600px) {
    .brand-logo {
    width:116px;
    height:56px
}

.popular-editorial {
    grid-template-columns:1fr 1fr;
    grid-template-rows:290px repeat(2,180px);
    gap:10px
}

.popular-tile-copy {
    left:12px;
    right:10px;
    bottom:12px
}

.popular-tile-copy h3 {
    font-size:15px
}

.popular-tile-lead .popular-tile-copy h3 {
    font-size:26px
}

.popular-tile-lead .popular-tile-copy {
    left:20px;
    bottom:20px
}

.category-editorial {
    grid-template-columns:1fr;
    gap:12px
}

.category-editorial-card {
    height:175px
}

.fresh-layout {
    grid-template-columns:1fr
}

.fresh-spotlight>img {
    height:240px
}

.fresh-list-item {
    grid-template-columns:105px 1fr
}

.fresh-list-item img {
    width:105px;
    height:90px
}
}




/* Final Fordelish logo: wide artwork with no unnecessary transparent margins */
.site-header .nav  {
     min-height: 88px;
     height: auto;
}


.site-header .brand-logo  {
     width: 155px;
     height: auto;
     max-height: 86px;
     object-fit: contain;
}


.site-footer .brand-logo  {
     width: 145px;
     height: auto;
     max-height: 110px;
     object-fit: contain;
}


@media (max-width: 850px)  {
    
  .site-header .nav  {
     gap: 16px;
}


  .site-header .brand-logo  {
     width: 135px;
     max-height: 74px;
}
}


@media (max-width: 600px)  {
    
  .site-header .nav  {
     min-height: 70px;
}


  .site-header .brand-logo  {
     width: 130px;
     max-height: 68px;
}


  .site-footer .brand-logo  {
     width: 155px;
}
}



/* Shared navigation and footer */
.brand-logo { max-width: 175px; max-height: 60px; width: auto; height: auto; object-fit: contain; display: block; }
.footer-columns { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 50px; align-items: start; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-links strong { font-size: 14px; color: #19381f; margin-bottom: 7px; }
.footer-links a { font-size: 13px; font-weight: 500; color: #596457; }
.footer-links a:hover { color: #c47b2e; }
.footer-bottom { border-top: 1px solid #e4e5dc; margin-top: 32px; padding-top: 19px; color: #72756e; font-size: 12px; }
@media (max-width: 700px) { .footer-columns { grid-template-columns: 1fr 1fr; gap: 25px; } .footer-brand { grid-column: 1 / -1; } }
