/* assets/css/about.css */

/* =========================
   HERO
========================= */

.a-hero{ padding:70px 0 22px; }

.a-hero-inner{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:18px;
  align-items:stretch;
}

.a-hero-card{ padding:26px 26px 22px; }
.a-top{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; }

.a-title{
  margin:0 0 10px;
  font-family: var(--font-display);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:28px;
  line-height:1.15;
}
:root[data-theme="light"] .a-title{
  color: rgba(18,19,26,.96);
}

/* hero sub: premium text flow */
.a-sub{
  margin:0 0 16px;
  color: rgba(232,232,238,.84);
  font-size:14px;
  line-height:1.75;
  text-align: justify;
  hyphens: auto;
  text-wrap: pretty;
}
:root[data-theme="light"] .a-sub{
  color: rgba(18,19,26,.76);
}

.a-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* =========================
   SIDE
========================= */

.a-side{
  padding:18px;
  box-shadow: var(--shadow-soft);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.a-side-block{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding:14px;
}
:root[data-theme="light"] .a-side-block{
  border-color: rgba(0,0,0,.10);
  background: rgba(255,255,255,.70);
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
}

.a-side-title{
  font-family: var(--font-display);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  line-height:1.2;
  margin-bottom:8px;
  opacity:.95;
}
:root[data-theme="light"] .a-side-title{
  color: rgba(18,19,26,.66);
  opacity:1;
}

.a-side-text{
  color: rgba(232,232,238,.82);
  font-size:13px;
  line-height:1.65;
}
:root[data-theme="light"] .a-side-text{
  color: rgba(18,19,26,.72);
}

.a-side-text a{ color:#fff; }
.a-side-text a:hover{ text-decoration:underline; }

:root[data-theme="light"] .a-side-text a{
  color: rgba(18,19,26,.92);
}
:root[data-theme="light"] .a-side-text a:hover{
  color: rgba(18,19,26,1);
  text-decoration:underline;
}

/* =========================
   STORY / CONTENT CARDS
========================= */

.a-story{ padding:18px 0; }

.a-story-card{
  padding:22px;
  box-shadow: var(--shadow-soft);
}

/* tighten headings inside cards so they don't fight the lead text */
.a-story-card .section-title{
  margin-bottom:8px;
  line-height:1.2;
}
:root[data-theme="light"] .a-story-card .section-title{
  color: rgba(18,19,26,.92);
}

/* make section-sub look like a LABEL/lead, not a second paragraph */
.a-story-card .section-sub{
  margin-top:0;
  margin-bottom:14px;
  font-size:13px;
  line-height:1.5;
  color: rgba(232,232,238,.74);
  letter-spacing:.01em;
}
:root[data-theme="light"] .a-story-card .section-sub{
  color: rgba(18,19,26,.64);
}

/* subtle divider after sub (premium, no line clutter) */
.a-story-card .section-sub::after{
  content:'';
  display:block;
  width:34px;
  height:2px;
  background: rgba(255,255,255,.12);
  margin-top:10px;
}
:root[data-theme="light"] .a-story-card .section-sub::after{
  background: rgba(0,0,0,.10);
}

/* main text blocks */
.a-text{
  color: rgba(232,232,238,.86);
  font-size:14px;
  line-height:1.75;
  margin:0 0 12px;
}
:root[data-theme="light"] .a-text{
  color: rgba(18,19,26,.78);
}

/* last paragraph spacing fix */
.a-text:last-child{ margin-bottom:0; }

/* =========================
   PROCESS
========================= */

.a-process{ padding:40px 0 20px; }
.a-head{ margin-bottom:18px; }

.a-steps{
  grid-template-columns: repeat(5, 1fr);
  gap:18px;
}

.a-step{
  padding:18px;
  box-shadow: var(--shadow-soft);
  text-align:left;
}

.a-step-n{
  font-family: var(--font-display);
  letter-spacing:.08em;
  font-size:12px;
  margin-bottom:10px;
  color: rgba(255,45,45,.95);
}

.a-step-title{
  font-weight:900;
  letter-spacing:.02em;
  margin-bottom:6px;
  line-height:1.25;
}
:root[data-theme="light"] .a-step-title{
  color: rgba(18,19,26,.92);
}

.a-step-text{
  color: rgba(232,232,238,.82);
  font-size:13px;
  line-height:1.65;
}
:root[data-theme="light"] .a-step-text{
  color: rgba(18,19,26,.70);
}

/* =========================
   VALUES
========================= */

.a-values{ padding:22px 0 40px; }
.a-values-card{
  padding:22px;
  box-shadow: var(--shadow-soft);
}

/* normalize titles/subs in values cards too */
.a-values-card .section-title{
  margin-bottom:8px;
  line-height:1.2;
}
:root[data-theme="light"] .a-values-card .section-title{
  color: rgba(18,19,26,.92);
}

.a-values-card .section-sub{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.5;
  color: rgba(232,232,238,.74);
}
:root[data-theme="light"] .a-values-card .section-sub{
  color: rgba(18,19,26,.64);
}

.a-values-card .section-sub::after{
  content:'';
  display:block;
  width:34px;
  height:2px;
  background: rgba(255,255,255,.12);
  margin-top:10px;
}
:root[data-theme="light"] .a-values-card .section-sub::after{
  background: rgba(0,0,0,.10);
}

.a-values-list{
  margin:12px 0 0;
  padding-left:18px;
  color: rgba(232,232,238,.86);
  font-size:14px;
  line-height:1.75;
}
:root[data-theme="light"] .a-values-list{
  color: rgba(18,19,26,.78);
}

.a-values-list li{ margin-bottom:8px; }

/* =========================
   CTA
========================= */

.a-cta{ padding:0 0 70px; }

.a-cta-card{
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-shadow: var(--shadow-soft);
}

.a-cta-title{
  margin:0 0 8px;
  font-family: var(--font-display);
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:14px;
  line-height:1.2;
}
:root[data-theme="light"] .a-cta-title{
  color: rgba(18,19,26,.92);
}

.a-cta-sub{
  margin:0;
  color: rgba(232,232,238,.82);
  font-size:13px;
  line-height:1.65;
}
:root[data-theme="light"] .a-cta-sub{
  color: rgba(18,19,26,.70);
}

.a-cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* =========================
   Responsive
========================= */

@media (max-width: 980px){
  .a-hero-inner{ grid-template-columns: 1fr; }
  .a-steps{ grid-template-columns: repeat(2, 1fr); }
  .a-cta-card{ flex-direction:column; align-items:flex-start; }
}

/* justify can look weird on mobile; keep it readable */
@media (max-width: 640px){
  .a-sub{
    text-align:left;
    hyphens: manual;
  }
}

@media (max-width: 560px){
  .a-steps{ grid-template-columns: 1fr; }
}

/* === Process cards as interactive (About modal trigger) === */
.a-step{ cursor:pointer; user-select:none; }
.a-step:hover{
  transform: translateY(-2px);
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}
:root[data-theme="light"] .a-step:hover{
  background: rgba(255,255,255,.86);
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 12px 26px rgba(0,0,0,.08);
}

.a-step:focus{ outline: none; }
.a-step:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,45,45,.28), var(--shadow-soft);
}
:root[data-theme="light"] .a-step:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,45,45,.20), 0 16px 34px rgba(0,0,0,.10);
}
