.about-page {
    background: #fff;
    color: #171c22;
}

.about-container { max-width: 1120px; }

.about-hero {
    padding: calc(var(--site-navbar-height, 72px) + 5.5rem) 0 5.5rem;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(255,107,0,.10), transparent 34%),
        #111820;
}

.about-eyebrow {
    margin: 0 0 .8rem;
    color: #ff6b00;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.about-eyebrow.dark { color: #d85b00; }

.about-hero h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.7rem, 6vw, 5.4rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.about-hero-copy {
    max-width: 720px;
    margin: 1.5rem 0 0;
    color: rgba(255,255,255,.70);
    font-size: clamp(1rem, 1.8vw, 1.23rem);
    line-height: 1.7;
}

.about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 2rem;
}

.about-btn-primary,
.about-btn-secondary {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: .72rem 1.15rem;
    font-weight: 800;
}

.about-btn-primary {
    border: 1px solid #ff6b00;
    color: #fff;
    background: #ff6b00;
}

.about-btn-primary:hover {
    color: #fff;
    background: #e55f00;
    border-color: #e55f00;
}

.about-btn-secondary {
    border: 1px solid rgba(255,255,255,.20);
    color: #fff;
    background: rgba(255,255,255,.04);
}

.about-btn-secondary:hover {
    color: #fff;
    background: rgba(255,255,255,.09);
}

.about-method-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: rgba(255,255,255,.05);
    box-shadow: 0 30px 70px rgba(0,0,0,.24);
}

.about-card-label {
    display: block;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.48);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-method-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: .85rem;
    padding: 1.25rem 1.2rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.about-method-item:last-child { border-bottom: 0; }
.about-method-item > span { color: #ff6b00; font-weight: 900; }
.about-method-item strong { display: block; font-size: .95rem; }
.about-method-item small { display: block; margin-top: .3rem; color: rgba(255,255,255,.60); line-height: 1.5; }

.about-section { padding: 6rem 0; }
.about-intro-section { background: #fff; }
.about-principles-section { background: #f6f7f8; }
.about-process-section { background: #fff; }
.about-location-section { padding-top: 1rem; background: #fff; }

.about-section h2,
.about-cta h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.about-large-copy {
    margin: 0;
    color: #242b33;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    line-height: 1.55;
}

.about-copy {
    margin: 1.4rem 0 0;
    color: #66707a;
    font-size: 1rem;
    line-height: 1.78;
}

.about-section-heading { max-width: 720px; }

.about-principle-card {
    height: 100%;
    border: 1px solid #e5e8eb;
    border-radius: 18px;
    padding: 1.5rem;
    background: #fff;
}

.about-principle-card > span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #d85b00;
    background: #fff3ea;
    font-size: .72rem;
    font-weight: 900;
}

.about-principle-card h3 { margin: 1.25rem 0 0; font-size: 1.15rem; }
.about-principle-card p { margin: .7rem 0 0; color: #6d7680; line-height: 1.65; }

.about-services-section {
    color: #fff;
    background: #111820;
}

.about-services-section h2 { max-width: 520px; }
.light-copy { color: rgba(255,255,255,.62); }

.about-text-link {
    display: inline-block;
    margin-top: 1.4rem;
    color: #ff7b1a;
    font-weight: 800;
    text-decoration: none;
}

.about-text-link:hover { color: #ff934a; }

.about-service-list { border-top: 1px solid rgba(255,255,255,.12); }

.about-service-list a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: .85rem;
    row-gap: .18rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    color: #fff;
    text-decoration: none;
}

.about-service-list a > span {
    grid-row: 1 / span 2;
    color: #ff6b00;
    font-size: .72rem;
    font-weight: 900;
}

.about-service-list strong { font-size: .98rem; }
.about-service-list small { color: rgba(255,255,255,.56); line-height: 1.5; }
.about-service-list a:hover strong { color: #ff7b1a; }

.about-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1px;
    margin-top: 2.2rem;
    overflow: hidden;
    border: 1px solid #e4e7ea;
    border-radius: 18px;
    background: #e4e7ea;
}

.about-process-grid article {
    min-height: 230px;
    padding: 1.45rem;
    background: #fff;
}

.about-process-grid article > span {
    color: #ff6b00;
    font-size: .78rem;
    font-weight: 900;
}

.about-process-grid h3 { margin: 2rem 0 0; font-size: 1.05rem; }
.about-process-grid p { margin: .65rem 0 0; color: #717a84; line-height: 1.6; font-size: .9rem; }

.about-location-card {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 3rem;
    border: 1px solid #e3e6e9;
    border-radius: 24px;
    padding: 2.4rem;
    background: #f7f8f9;
}

.about-location-card p:not(.about-eyebrow) { margin: 1rem 0 0; color: #69737d; line-height: 1.7; }
.about-location-points { display: grid; gap: .8rem; }
.about-location-points span { padding: 1rem; border: 1px solid #e1e4e7; border-radius: 14px; background: #fff; }
.about-location-points strong { display: block; }
.about-location-points small { display: block; margin-top: .2rem; color: #7b848d; }

.about-cta {
    padding: 5rem 0;
    color: #fff;
    background: #111820;
}

.about-cta-inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}

.about-cta-inner p:not(.about-eyebrow) { max-width: 620px; margin: 1rem 0 0; color: rgba(255,255,255,.64); }

@media (max-width: 991.98px) {
    .about-hero { padding-top: calc(var(--site-navbar-height, 72px) + 4rem); }
    .about-process-grid { grid-template-columns: 1fr 1fr; }
    .about-location-card { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 575.98px) {
    .about-hero { padding-bottom: 4rem; }
    .about-section { padding: 4.5rem 0; }
    .about-actions { display: grid; grid-template-columns: 1fr; }
    .about-actions .btn { width: 100%; }
    .about-process-grid { grid-template-columns: 1fr; }
    .about-process-grid article { min-height: 0; }
    .about-location-card { padding: 1.35rem; border-radius: 18px; }
    .about-cta-inner { align-items: stretch; flex-direction: column; }
    .about-cta-inner .btn { width: 100%; }
}
