/* ===== About pages — sizes measured from the old Elementor / Astra pages =====
   Breakpoints follow the old site: Elementor layout 1024 / 767, Astra type 768 / 544. */

/* ---------- About Us (old /about-corking-2/, a plain Astra page) ---------- */
.ab-root {
    max-width: 1210px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 15px;
}
.ab-root h1 { font-size: 70px; font-weight: 700; line-height: 1.2; color: var(--gray); }
.ab-root h2 { font-size: 34px; font-weight: 700; line-height: 1.3; color: var(--gray); }
.ab-root blockquote {
    margin: 1.5em 1em 1.5em 3em;
    padding: 1.2em;
    border-left: 5px solid rgba(0, 0, 0, .05);
    font-size: 1.1em;
    font-style: italic;
}
.ab-root-media img { display: block; max-width: 100%; height: auto; }

/* ---------- shared: full-bleed photo section with colour overlay ---------- */
.ab-sec {
    position: relative;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
}
.ab-sec::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #000;
    opacity: .65;
}
.ab-wrap {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
    padding: 10px;
}
.ab-title { padding: 80px; margin-bottom: 20px; text-align: center; }
.ab-title-lg { padding: 100px; }
.ab-title h1 { font-size: 70px; font-weight: 700; line-height: 1; color: #fff; }
.ab-text { color: #fff; font-size: 16px; }
.ab-dropcap {
    float: left;
    margin-right: 10px;
    font-size: 50px;
    line-height: 1;
    text-align: center;
}

/* ---------- History ---------- */
.ab-history { background-image: url("../../img/about/bg-history.67c349f11967.jpg"); }
.ab-history-box {
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
    border: dashed var(--gray);
    border-width: 0 2px;
}
.ab-history-col { width: 50%; padding: 10px; }
.ab-badge { display: block; width: 300px; max-width: 100%; height: auto; margin: 0 auto 20px; }
.ab-history-text { line-height: 1.8em; letter-spacing: .5px; }
.ab-history-text p + p { margin-top: 1.8em; }

/* ---------- Philosophy ---------- */
.ab-philosophy { background-image: url("../../img/about/bg-philosophy.dca010546f1e.jpg"); }
.ab-philosophy::before { opacity: .57; }
.ab-phil-row { display: flex; }
.ab-phil-text { width: 42.134%; padding: 10px; }
.ab-phil-text p {
    /* the old page pushed the text down with four empty <h3>s */
    padding-top: 5.6em;
    color: #fff;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .5px;
}
.ab-phil-portrait { width: 44.2%; margin-left: 13.302%; padding: 10px; }
.ab-phil-portrait img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.ab-phil-team { padding: 10px; }
.ab-phil-team img { display: block; width: 100%; height: auto; }

/* ---------- Management ---------- */
.ab-management {
    padding-bottom: 200px;
    background-image: url("../../img/about/bg-management.43ad918fd8c5.jpg");
    background-position: center;
}
.ab-management::before { background: #fff; opacity: .83; }
.ab-management .ab-title h1 { color: var(--gray); }
.ab-mgmt-row { display: flex; flex-wrap: wrap; }
.ab-mgmt-col { width: 20%; padding: 15px; text-align: center; }
/* staggered photos: per-column top offset and connector length from the old page */
.ab-mgmt-col:nth-child(1) { --offset: 50px; --line: 70px; }
.ab-mgmt-col:nth-child(2) { --offset: 0px; --line: 190px; }
.ab-mgmt-col:nth-child(3) { --offset: 130px; --line: 220px; }
.ab-mgmt-col:nth-child(4) { --offset: 40px; --line: 180px; }
.ab-mgmt-col:nth-child(5) { --offset: 80px; --line: 200px; }
.ab-mgmt-spacer { height: var(--offset); margin-bottom: 20px; }
.ab-mgmt-img { display: block; width: 100%; height: auto; margin-bottom: 20px; }
.ab-mgmt-line { padding: 20px; }
.ab-mgmt-line span {
    display: block;
    width: 50%;
    height: calc(var(--line) + 20px);
    border-right: 2px solid #176d2f;
}
.ab-mgmt-col h3 {
    margin-bottom: 20px;
    font-size: 23px;
    font-weight: 700;
    line-height: 1;
    color: var(--gray);
}
.ab-mgmt-col:nth-child(2) h3 { padding: 3px; }
.ab-mgmt-text { font-size: 14px; line-height: 26px; }

/* ---------- Equipment ---------- */
.ab-equipment {
    background-image: url("../../img/about/bg-equipment.d7181f26d094.jpg");
    background-repeat: repeat;
    background-size: auto;
}
.ab-equipment::before { opacity: .68; }
.ab-equipment .ab-wrap { max-width: 1140px; }
.ab-eq-row { display: flex; flex-wrap: wrap; }
.ab-eq-cell { width: 33.333%; padding: 10px; }
.ab-eq-cell img { display: block; max-width: 100%; height: auto; margin: 0 auto; }

/* ---------- tablet ---------- */
@media (max-width: 1024px) {
    .ab-equipment .ab-wrap { max-width: 1024px; }
    .ab-history-col { width: 100%; }
    .ab-mgmt-col { width: 50%; }
    .ab-mgmt-line { display: none; }
    .ab-eq-cell { width: 50%; }
    .ab-eq-row-first > :nth-child(1) { order: 3; }
    .ab-eq-row-first > :nth-child(2) { order: 2; }
    .ab-eq-row-first > :nth-child(3) { order: 1; }
}
@media (max-width: 768px) {
    .ab-root { font-size: 13.68px; }
    .ab-root h2 { font-size: 40px; }
}

/* ---------- phone ---------- */
@media (max-width: 767px) {
    .ab-equipment .ab-wrap { max-width: 767px; }
    .ab-history { background-position: bottom center; }
    .ab-history-box { padding: 0; }
    .ab-history-col { padding: 0; }
    .ab-phil-row { flex-wrap: wrap; }
    .ab-phil-text, .ab-phil-portrait { width: 100%; margin-left: 0; }
    .ab-mgmt-col { width: 100%; }
    .ab-eq-cell { width: 100%; }
}
@media (max-width: 544px) {
    .ab-root { padding: 0 .54em; }
    .ab-root h1, .ab-title h1 { font-size: 33px; }
    .ab-root h2 { font-size: 25px; }
    .ab-phil-text p { font-size: 20px; }
    .ab-mgmt-col h3 { font-size: 20px; }
}
