/* About-page proposal. All rules stay within the page content. */
.tx-about { color:#353535; padding:20px var(--porto-fluid-spacing, 20px) 65px; font-family:Arial,Helvetica,sans-serif; }
.tx-about *, .tx-about *::before, .tx-about *::after { box-sizing:border-box; }
.tx-about h1,.tx-about h2,.tx-about h3,.tx-about p,.tx-about figure { margin:0; }
.tx-about h1,.tx-about h2,.tx-about h3 { color:#262626; text-transform:none; font-weight:600; letter-spacing:normal; }
.tx-about a { color:#a5332d; text-decoration:underline; text-underline-offset:3px; }
.tx-about a:hover { color:#76251f; }
.tx-about a:focus-visible { outline:3px solid #a5332d; outline-offset:5px; }
.tx-about-intro { max-width:800px; padding:12px 0 32px; }
.tx-about h1 { font-size:40px; line-height:1.2; margin-bottom:18px; }
.tx-about-intro p { font-size:23px; line-height:1.5; color:#555; max-width:720px; }
.tx-photography { aspect-ratio:1916 / 714; overflow:hidden; }
.tx-photography img { display:block; width:100%; height:auto; }
.tx-about-body { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr); gap:70px; margin-top:40px; }
.tx-about-story section + section { margin-top:36px; }
.tx-about h2 { font-size:25px; line-height:1.35; margin-bottom:18px; }
.tx-about-story p { font-size:16px; line-height:1.8; margin-bottom:18px; }
.tx-about-story p:last-child { margin-bottom:0; }
.tx-about-contact { display:grid; gap:18px; border:0; padding:0; font-size:14px; line-height:1.8; align-self:start; }
.tx-about-contact h2 { font-size:22px; margin-bottom:14px; }
.tx-about-contact p { margin-bottom:18px; }
.tx-contact-links a { display:inline-block; padding:2px 0; }
.tx-about-direct,.tx-about .tx-company-details { background:var(--tx-surface,#f5f3ee); border:0; border-radius:8px; padding:24px; margin:0; }
.tx-about-contact > div > p:last-child { margin-bottom:0; }
.tx-about h3 { font-size:16px; margin-bottom:12px; }
.tx-company-details address { margin:0 0 18px; font-style:normal; }
@media(max-width:900px) {
    .tx-about-body { gap:35px; grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr); }

}
@media(max-width:600px) {
    .tx-about { padding-top:6px; }
    .tx-about h1 { font-size:32px; margin-bottom:15px; }
    .tx-about-intro { padding:12px 0 25px; }
    .tx-about-intro p { font-size:21px; }
    .tx-about-body { grid-template-columns:1fr; gap:35px; margin-top:25px; }
    .tx-about h2 { font-size:23px; }
    .tx-about-contact { border:0; padding:0; font-size:15px; }
}

@media(max-width:991px) {
    .tx-about.container { padding-left:0; padding-right:0; }
}
