/* ============================================================================
   th-about.css — About page on the theme-lab shell ($th_lab_layout).
   Binds tokens.css only. Zero raw brand hex.
   ============================================================================ */

.page-about .svc-masthead-inner .th-giant{max-width:14ch}

/* ---- Overview: story + owner sidebar */
.about-overview{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);
    gap:clamp(28px,4vw,48px);
    align-items:start;
}
.about-overview-main p,
.about-prose-panel p{
    margin:0 0 1rem;
    color:var(--gray);
    font-size:clamp(.95rem,1.15vw,1.05rem);
    line-height:1.75;
    max-width:62ch;
}
.about-overview-main p:last-child,
.about-prose-panel p:last-child{margin-bottom:0}
.about-lead{
    color:var(--white)!important;
    font-size:clamp(1.05rem,1.35vw,1.18rem)!important;
    font-weight:400;
    line-height:1.7!important;
}
.about-label{
    margin:1.6rem 0 .35rem!important;
    font-family:var(--font-data);
    font-size:.68rem!important;
    letter-spacing:1.8px;
    text-transform:uppercase;
    color:var(--blue)!important;
}
.about-quote{
    margin:1.4rem 0;
    padding:0 0 0 1rem;
    border-left:2px solid var(--blue-a20);
    font-family:var(--font-testimonial);
    font-style:italic;
    font-size:clamp(1.02rem,1.4vw,1.18rem);
    line-height:1.55;
    color:var(--white);
    max-width:46ch;
}
.about-quote--on-moment{
    border-left-color:var(--blue-a20);
    color:var(--white);
}

.about-overview-side{
    display:flex;
    flex-direction:column;
    gap:16px;
    position:sticky;
    top:88px;
}
.about-owner-card{
    margin:0;
    border-radius:16px;
    overflow:hidden;
    background:var(--bg-2);
    border:1px solid var(--gray-line);
}
.about-owner-card img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
}
.about-owner-card figcaption{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:16px 18px 18px;
}
.about-owner-label{
    font-family:var(--font-data);
    font-size:.64rem;
    letter-spacing:1.6px;
    text-transform:uppercase;
    color:var(--blue);
}
.about-owner-card strong{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.05rem;
    color:var(--white);
}
.about-owner-card figcaption > span:last-child{
    font-size:.88rem;
    color:var(--gray);
    line-height:1.55;
}
.about-side-cta{
    padding:20px 18px;
    border-radius:16px;
    background:var(--blue-a08);
    border:1px solid var(--blue-a20);
}
.about-side-cta p{
    margin:.55rem 0 1rem;
    color:var(--gray);
    font-size:.9rem;
    line-height:1.6;
}
.about-side-cta .btn{width:100%;justify-content:center}

/* ---- Expectation grid */
.about-expect-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}
.about-expect-grid .lab-card{display:flex;flex-direction:column;gap:.15rem}

/* ---- Ethics moment: allow longer prose than default .moment */
.about-ethics-moment h3{max-width:28ch}
.about-ethics-moment p{max-width:62ch}
.about-ethics-moment .about-quote{margin:1.2rem 0}

/* ---- Security / history prose panel */
.about-prose-panel{
    max-width:62rem;
    padding:clamp(22px,3vw,32px);
    border-radius:16px;
    background:var(--bg-2);
    border:1px solid var(--gray-line);
}

/* ---- Expertise pillars */
.about-pillar-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.about-pillar{
    display:flex;
    flex-direction:column;
    gap:.35rem;
    min-height:100%;
}
.about-pillar p{flex:1 1 auto;margin:0 0 .85rem}
.about-pillar .inline-link{margin-top:auto}
.about-pillar--featured{
    background:var(--blue-a08);
    border-color:var(--blue-a20);
    box-shadow:inset 0 1px 0 var(--blue-a12);
}
.about-pillar--featured h3{color:var(--blue-light)}

@media(max-width:900px){
    .about-overview{grid-template-columns:1fr}
    .about-overview-side{position:static}
    .about-pillar-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
    .about-expect-grid{grid-template-columns:1fr}
}
