/* Independent smg3 farm introduction. All rules are scoped to about_page. */
.about_page { color:#333; background:#fff; text-align:left; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.about_page, .about_page * { box-sizing:border-box; }
.about_page .about_container { width:100%; max-width:1320px; margin:0 auto; padding:0 60px; }
.about_page h1, .about_page h2, .about_page h3, .about_page p, .about_page figure { margin:0; }
.about_page h1, .about_page h2 { font-family:'nm', serif; }
.about_page h2 { font-size:34px; font-weight:600; line-height:1.35; margin-bottom:24px; }
.about_page h3 { font-size:22px; font-weight:600; line-height:1.4; margin-bottom:12px; }
.about_page p { font-size:17px; line-height:1.7; }
.about_page p + p { margin-top:16px; }
.about_page .about_cover {
    display:flex; align-items:center; padding:130px 0 56px;
    background-color:#333;
    background-image:linear-gradient(rgba(0,0,0,.48), rgba(0,0,0,.48)), url('/files/attach/images/134/e3eab906d794605b4f7628b143f4df28.jpg');
    background-size:cover; background-position:center; background-repeat:no-repeat;
    color:#fff;
}
.about_page .about_cover h1 { font-size:48px; font-weight:600; line-height:1.2; margin-bottom:16px; }
.about_page .about_cover p { max-width:720px; font-size:16px; line-height:1.7; }
.about_page .about_section { padding:36px 0; }
.about_page .about_intro { padding-top:72px; }
.about_page .about_split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:40px; }
.about_page .about_split > *, .about_page .about_cards > * { min-width:0; }
.about_page .about_photo { overflow:hidden; }
.about_page .about_photo img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:center; }
.about_page .about_cards { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; }
.about_page .about_card .about_photo { margin-bottom:24px; }
.about_page .about_card_text { padding:24px; background:#f7f6f2; }
.about_page .about_lead { margin-bottom:24px; max-width:760px; }
.about_page .about_products p { max-width:760px; }
.about_page .about_button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 24px; border:1px solid #333; color:#333; background:transparent; font-size:16px; font-weight:500; line-height:1.5; text-decoration:none; text-align:center; }
.about_page .about_button:hover { color:#fff; background:#ca3b3f; border-color:#ca3b3f; }
.about_page .about_button:focus-visible { outline:2px solid #ca3b3f; outline-offset:4px; }
.about_page .about_experience .about_button, .about_page .about_products .about_button { margin-top:24px; }
.about_page .about_cta { padding:24px 0 64px; }
.about_page .about_cta_links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.about_page .about_experience { scroll-margin-top:80px; }
@media (min-width:1025px) {
    /* 1320px outer width minus 120px padding preserves 1200px of content. */
    .about_page .about_intro .about_split,
    .about_page .about_nature .about_split { align-items:center; gap:32px; }
    .about_page .about_farming .about_cards,
    .about_page .about_experience .about_cards { gap:32px; }
    .about_page .about_farming .about_card .about_photo { margin-bottom:20px; }
    .about_page .about_experience .about_card_text { padding:28px 32px; background:#faf9f6; }
    .about_page .about_products { margin-top:36px; padding:36px 0; background:#faf9f6; }
    .about_page .about_products p { max-width:680px; }
    .about_page .about_products .about_button { margin-top:28px; }
    .about_page .about_cta { padding:36px 0 64px; }
    .about_page .about_cta .about_button { min-height:52px; padding:13px 24px; font-weight:600; border-color:#666; }
    .about_page .about_cta .about_button:hover { border-color:#ca3b3f; }
}
@media (min-width:1025px) {
    /* Match the home cover height and large-title start at 40% of its height. */
    .about_page .about_cover { height:clamp(400px, 50vh, 540px); min-height:0; box-sizing:border-box; align-items:flex-start; padding:clamp(160px, 20vh, 216px) 0 30px; }
}
@media (max-width:1024px) {
    .about_page .about_container { padding-right:20px; padding-left:20px; }
    .about_page .about_cover { padding:84px 0 32px; }
    .about_page .about_cover h1 { font-size:36px; line-height:1.25; margin-bottom:16px; }
    .about_page .about_cover p { font-size:15px; line-height:1.6; }
    .about_page .about_desktop_break { display:none; }
    .about_page h2 { font-size:28px; margin-bottom:20px; }
    .about_page h3 { font-size:21px; }
    .about_page p { font-size:16px; }
    .about_page .about_section { padding:24px 0; }
    .about_page .about_intro { padding-top:48px; }
    .about_page .about_split, .about_page .about_cards { grid-template-columns:minmax(0,1fr); gap:24px; }
    .about_page .about_photo { width:100%; max-width:640px; }
    .about_page .about_card .about_photo { margin-bottom:20px; }
    .about_page .about_card_text { padding:20px; }
    .about_page .about_cta { padding:16px 0 48px; }
    .about_page .about_cta_links { grid-template-columns:minmax(0,1fr); gap:12px; }
}

/* PC cover alignment follows the home Hero; body containers stay unchanged. */
@media (min-width:1025px) {
    .about_page .about_cover > .about_container { max-width:none; padding-left:100px; padding-right:100px; }
}
@media (min-width:1025px) and (max-width:1599px),
(min-width:1025px) and (max-height:900px) {
    .about_page .about_cover > .about_container { padding-left:64px; padding-right:64px; }
}

/* Mobile cover only; retain the existing title, text and photo styles. */
@media (max-width:1024px) {
    .about_page .about_cover { height:auto; min-height:450px; box-sizing:border-box; align-items:flex-start; padding:150px 0 32px; }
}
