/* Purlin Automation — About Us page */
.about-page {
    color: #555;
    background: #fff;
}

.about-hero {
    position: relative;
    min-height: 280px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #666;
}

.about-hero-map {
    position: absolute;
    inset: 0 auto 0 0;
    width: 66%;
    background: url('about-banner-map.png') left center / cover no-repeat;
    opacity: .96;
}

.about-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0 50%, rgba(90,90,90,.15) 66%, rgba(90,90,90,.42) 100%);
}

.about-hero-content {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.about-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    font-weight: 600;
    letter-spacing: -.02em;
}

.about-breadcrumb {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 26px 0 8px;
    color: #999;
    font-size: 12px;
}

.about-breadcrumb a { color: #888; }
.about-breadcrumb a:hover { color: #1478b8; }

.about-section {
    padding: 34px 0 66px;
}

.about-section h2,
.about-section h3 {
    color: #555;
    font-weight: 400;
}

.about-section-title {
    text-align: center;
    margin: 0 0 24px;
    font-size: 28px;
    color: #555;
}

.about-copy {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.about-copy p {
    margin: 0 0 18px;
    line-height: 1.75;
    font-size: 14px;
}

.about-principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 42px;
}

.about-principle {
    padding: 0 28px;
    border-left: 1px solid #ddd;
}
.about-principle:first-child { border-left: 0; padding-left: 0; }
.about-principle:last-child { padding-right: 0; }
.about-principle h3 { margin: 0 0 8px; font-size: 17px; }
.about-principle p { margin: 0; font-size: 13px; line-height: 1.75; }

.about-values {
    padding-top: 14px;
    background: #fff;
}

.about-values-visual {
    width: min(760px, calc(100% - 48px));
    min-height: 220px;
    margin: 0 auto 46px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-values-logo {
    width: min(330px, 55%);
    filter: grayscale(.05);
}

.about-value-note {
    position: absolute;
    color: #f1b500;
    font-family: 'Comic Sans MS', 'Segoe Print', cursive;
    font-size: clamp(17px, 2.4vw, 27px);
    font-weight: 600;
    transform: rotate(-5deg);
}
.about-value-note::after {
    content: '';
    position: absolute;
    width: 48px;
    height: 32px;
    border-left: 1px solid #777;
    border-bottom: 1px solid #777;
    opacity: .65;
}
.about-value-note.n1 { top: 12px; left: 8%; }
.about-value-note.n1::after { right: -30px; top: 22px; transform: rotate(-25deg); }
.about-value-note.n2 { top: 0; left: 39%; transform: rotate(3deg); }
.about-value-note.n2::after { left: 22px; top: 28px; transform: rotate(14deg); }
.about-value-note.n3 { top: 14px; right: 8%; transform: rotate(5deg); }
.about-value-note.n3::after { left: -28px; top: 26px; transform: rotate(55deg); }
.about-value-note.n4 { bottom: 4px; left: 4%; transform: rotate(5deg); }
.about-value-note.n4::after { right: -34px; bottom: 22px; transform: rotate(15deg); }
.about-value-note.n5 { bottom: 0; left: 39%; transform: rotate(-2deg); }
.about-value-note.n5::after { left: 24px; bottom: 24px; transform: rotate(-14deg); }
.about-value-note.n6 { bottom: 2px; right: 5%; transform: rotate(-3deg); }
.about-value-note.n6::after { left: -30px; bottom: 25px; transform: rotate(-50deg); }

.about-care-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.about-care-card {
    min-height: 190px;
    padding: 18px 18px 20px;
    background: #f1f1f1;
    border: 1px solid #ededed;
}
.about-care-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
    color: #555;
}
.about-care-card h3 { margin: 0 0 6px; font-size: 16px; }
.about-care-card p { margin: 0; font-size: 13px; line-height: 1.65; }

.about-timeline-section { padding: 40px 0 90px; }
.about-timeline {
    position: relative;
    width: min(900px, calc(100% - 48px));
    margin: 30px auto 0;
    padding: 8px 0;
}
.about-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: #f2b400;
    transform: translateX(-50%);
}
.about-milestone {
    position: relative;
    width: 50%;
    padding: 0 44px 42px;
}
.about-milestone:nth-child(odd) { text-align: right; padding-left: 0; }
.about-milestone:nth-child(even) { margin-left: 50%; padding-right: 0; }
.about-milestone::after {
    content: '';
    position: absolute;
    top: 7px;
    width: 10px;
    height: 10px;
    background: #f2b400;
    border-radius: 50%;
}
.about-milestone:nth-child(odd)::after { right: -5px; }
.about-milestone:nth-child(even)::after { left: -5px; }
.about-year {
    display: inline-block;
    padding: 4px 14px;
    border: 1px solid #f2b400;
    border-radius: 20px;
    color: #555;
    background: #fff;
    font-size: 16px;
    margin-bottom: 8px;
}
.about-milestone p { margin: 0; font-size: 13px; line-height: 1.7; }

.about-cta {
    background: #f5f5f5;
    padding: 46px 24px;
    text-align: center;
}
.about-cta h2 { margin: 0 0 12px; font-size: 26px; font-weight: 400; }
.about-cta p { margin: 0 auto 20px; max-width: 650px; line-height: 1.7; }
.about-cta .btn-yellow { display: inline-block; text-decoration: none; }

@media (max-width: 760px) {
    .about-hero { min-height: 220px; }
    .about-hero-map { width: 100%; opacity: .55; }
    .about-hero::after { background: rgba(70,70,70,.35); }
    .about-hero-content { justify-content: center; text-align: center; }
    .about-breadcrumb { width: calc(100% - 32px); padding-top: 18px; }
    .about-section { padding: 24px 0 44px; }
    .about-section-title { font-size: 24px; }
    .about-copy { padding: 0 16px; }
    .about-copy p { font-size: 13px; }
    .about-principles { grid-template-columns: 1fr; gap: 24px; margin-top: 30px; }
    .about-principle,
    .about-principle:first-child,
    .about-principle:last-child { border-left: 0; border-top: 1px solid #ddd; padding: 20px 0 0; }
    .about-principle:first-child { border-top: 0; padding-top: 0; }
    .about-values-visual { min-height: 210px; width: calc(100% - 28px); }
    .about-values-logo { width: 48%; }
    .about-value-note { font-size: 15px; }
    .about-care-grid { grid-template-columns: 1fr; padding: 0 16px; }
    .about-care-card { min-height: auto; }
    .about-timeline { width: calc(100% - 32px); }
    .about-timeline::before { left: 16px; }
    .about-milestone,
    .about-milestone:nth-child(even),
    .about-milestone:nth-child(odd) {
        width: 100%;
        margin-left: 0;
        padding: 0 0 30px 48px;
        text-align: left;
    }
    .about-milestone::after,
    .about-milestone:nth-child(odd)::after,
    .about-milestone:nth-child(even)::after { left: 11px; right: auto; }
}
