/* A Plus Credit Services — About page only. Loaded after site.css.
   Only the chrome (topbar, .section/.wrap/.eyebrow/.h2/.sub, .btn variants, .ic, .team__nav, FAQ, CTA, footer, sticky CTA)
   comes from site.css. Every About section is styled here so homepage refactors cannot break this page again. */

/* ---------- hero: contained, light, copy + founders' photo ---------- */
.ahero{ position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(180deg,#FFFFFF 0%, var(--paper) 100%); }
.ahero::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(50% 55% at 88% 20%, color-mix(in srgb,var(--sky) 14%, transparent), transparent 70%); }
.ahero__grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; padding-top:clamp(3rem,7vw,5.5rem); padding-bottom:clamp(3rem,7vw,5.5rem); }
.ahero h1{ font-family:var(--font-head); font-weight:600; color:var(--navy); font-size:clamp(2.3rem,4.8vw,3.7rem); line-height:1.04; letter-spacing:-.035em; margin:0; max-width:12ch; }
.ahero h1 .acc{ font-family:var(--font-emph); font-style:italic; font-weight:500; position:relative; white-space:nowrap; }
.ahero h1 .acc::after{ content:""; position:absolute; left:0; right:0; bottom:.03em; height:.07em; background:var(--red); border-radius:5px 7px 6px 9px; transform:scaleX(0); transform-origin:left; animation:wipe .8s var(--ease) .9s forwards; }
.ahero .lede{ font-size:clamp(1.02rem,1.35vw,1.18rem); color:var(--ink); line-height:1.6; margin:1.3rem 0 0; max-width:46ch; }
.ahero .lede b{ color:var(--navy); font-weight:600; }
.ahero__p{ color:var(--ink-soft); font-size:1rem; line-height:1.68; margin:1rem 0 0; max-width:50ch; }
.ahero .btns{ margin-top:1.8rem; }
.ahero__proof{ display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; margin-top:1.5rem; padding-top:1.2rem; border-top:1px solid var(--border); font-size:.86rem; color:var(--ink-soft); }
.ahero__proof a{ display:inline-flex; align-items:center; gap:.45rem; color:var(--navy); text-decoration:none; font-weight:600; }
.ahero__proof a:hover{ text-decoration:underline; text-underline-offset:3px; }
.ahero__proof .g{ width:18px; height:18px; }
.ahero__proof .stars{ font-size:.85rem; }
.ahero__media{ margin:0; justify-self:end; width:100%; max-width:480px; }
.ahero__frame{ border-radius:26px; overflow:hidden; aspect-ratio:1/1; background:var(--grey-card); box-shadow:0 40px 80px -36px rgba(16,34,82,.45); }
.ahero__frame img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.ahero__media figcaption{ margin-top:.8rem; text-align:center; font-size:.8rem; color:var(--ink-soft); }
@media (max-width:900px){ .ahero__grid{ grid-template-columns:1fr; } .ahero__media{ justify-self:start; max-width:440px; } }
@media (max-width:560px){ .ahero h1{ max-width:none; } .ahero .btns .btn{ flex:1 1 100%; } }
@media (prefers-reduced-motion:reduce){ .ahero h1 .acc::after{ transform:scaleX(1); animation:none; } }

/* ---------- eyebrows: plain text on this page, no red dot ---------- */
.eyebrow::before{ content:none; }

/* ---------- trust strip ---------- */
.tstrip{ border-bottom:1px solid var(--border); background:#fff; }
.tstrip__wrap{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; padding-top:1rem; padding-bottom:1rem; }
.tstrip__item{ display:inline-flex; align-items:center; gap:.7rem; color:var(--navy); font-size:.9rem; font-weight:600; }
.tstrip__item img{ height:42px; width:auto; }
.tstrip__item .ic{ width:22px; height:22px; color:var(--sky-dark); }
.tstrip__item .tstrip__thumb{ width:46px; height:46px; flex:0 0 46px; border-radius:50%; object-fit:cover; object-position:center; box-shadow:0 0 0 2px #fff, 0 6px 16px -6px rgba(16,34,82,.45); }
.tstrip__item .tstrip__thumb--person{ object-position:center 12%; background:var(--grey-card); }   /* head sits mid-circle, nothing cut */
.tstrip__item small{ display:block; font-weight:500; color:var(--ink-soft); font-size:.78rem; }
@media (max-width:700px){ .tstrip__wrap{ justify-content:center; } }

/* ---------- the founders' letter: envelope (FUNNEL 05) + overlay ---------- */
.letter{ position:relative; overflow:hidden; background:radial-gradient(48% 50% at 90% 6%, var(--sky-soft), transparent 60%), var(--paper); --cream:#FBF7EE; --font-type:"Courier Prime",ui-monospace,monospace; }
.letter__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.letter__who{ display:flex; align-items:center; gap:.9rem; margin-top:1.75rem; padding-top:1.4rem; border-top:1px solid var(--border); }
.letter__who img{ width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:center 25%; flex:0 0 auto; box-shadow:0 10px 24px -12px rgba(16,34,82,.5); }
.letter__who b{ display:block; color:var(--navy); font-family:var(--font-head); font-weight:600; }
.letter__who span{ font-size:.82rem; color:var(--ink-soft); }
.letter__open{ margin-top:1.5rem; }
/* envelope */
.fl{ position:relative; width:min(462px,92vw); aspect-ratio:390/470; margin:0 auto; cursor:pointer; filter:drop-shadow(0 40px 52px rgba(16,34,82,.3)); transition:transform .32s var(--ease), filter .32s var(--ease); }
.fl:hover{ transform:translateY(-4px); filter:drop-shadow(0 52px 72px rgba(16,34,82,.4)); }
.fl:focus-visible{ outline:3px solid var(--sky); outline-offset:6px; border-radius:18px; }
.fl:hover .peek{ animation-duration:1.4s; }
.fl:hover .polaroid{ transform:rotate(4deg) translateY(-4px); }
.fl:hover .fl__hint{ opacity:1; transform:translate(-50%,0); }
.env__back, .env__front{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.env__back{ z-index:1; }
.env__front{ z-index:3; }
.peek{ position:absolute; left:22%; right:22%; top:16%; height:68.5%; z-index:2; background:var(--cream); border-radius:9px 9px 3px 3px; box-shadow:0 18px 34px -18px rgba(16,34,82,.55); padding:1rem 1.05rem; overflow:hidden; text-align:left; animation:peeknudge 3s ease-in-out infinite; background-image:repeating-linear-gradient(180deg,transparent 0 20px,rgba(20,39,79,.05) 20px 21px); }
@keyframes peeknudge{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
.peek__k{ font-family:var(--font-type); font-weight:700; font-size:.82rem; color:var(--navy); margin:0 0 .6rem; }
.peek p{ font-family:var(--font-type); font-size:.64rem; color:#5A5545; line-height:1.6; margin:0 0 .65rem; }
.polaroid{ position:absolute; left:62%; top:66%; z-index:5; width:28%; background:#fff; padding:6px 6px 16px; border-radius:3px; box-shadow:0 24px 44px -18px rgba(16,34,82,.6); transform:rotate(6deg); transition:transform .32s var(--ease); }
.polaroid img{ width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center 30%; display:block; border-radius:1px; }
.fl__hint{ position:absolute; left:50%; bottom:-2.6rem; transform:translate(-50%,6px); opacity:0; transition:.3s var(--ease); font-size:.82rem; font-weight:600; color:var(--sky-dark); white-space:nowrap; }
.fl__hint b{ color:var(--navy); }
/* overlay */
.lmodal{ position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:clamp(1rem,4vw,2.5rem); background:rgba(10,21,48,.5); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s; --cream:#FBF7EE; --font-type:"Courier Prime",ui-monospace,monospace; }
.lmodal.show{ opacity:1; visibility:visible; }
.paper{ position:relative; width:min(640px,100%); max-height:88vh; overflow:auto; background:var(--cream); border-radius:12px; padding:clamp(1.8rem,4.5vw,3rem) clamp(1.5rem,4.5vw,2.8rem); box-shadow:0 20px 44px -26px rgba(0,0,0,.5); transform:translateY(130px); opacity:0; transition:transform .82s var(--ease), opacity .45s var(--ease) .05s, box-shadow .82s var(--ease); background-image:repeating-linear-gradient(180deg,transparent 0 31px,rgba(20,39,79,.035) 31px 32px); }
.lmodal.show .paper{ transform:translateY(0); opacity:1; box-shadow:0 70px 130px -40px rgba(0,0,0,.62); }
.paper::-webkit-scrollbar{ width:8px; }
.paper::-webkit-scrollbar-thumb{ background:#D8CFBC; border-radius:8px; }
.paper__close{ position:absolute; top:14px; right:14px; z-index:3; width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid #E7E0D1; display:grid; place-items:center; cursor:pointer; box-shadow:0 8px 20px -8px rgba(16,34,82,.4); transition:transform .18s var(--ease); }
.paper__close:hover{ transform:rotate(90deg); }
.paper__close svg{ width:16px; height:16px; fill:none; stroke:var(--navy); stroke-width:2.4; stroke-linecap:round; }
.paper__photo{ float:right; width:135px; margin:.2rem 0 .9rem 1.1rem; background:#fff; padding:7px 7px 22px; border-radius:3px; box-shadow:0 18px 34px -16px rgba(16,34,82,.5); transform:rotate(3deg); }
.paper__photo img{ width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center 30%; display:block; }
.paper__k{ font-family:var(--font-head); font-size:.62rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--red); margin:0; }
.paper h3{ font-family:var(--font-type); font-weight:700; color:var(--navy); font-size:1.18rem; margin:.5rem 0 1.1rem; }
.paper p{ font-family:var(--font-type); font-size:.92rem; color:#3E3A30; line-height:1.78; margin:0 0 1rem; }
.paper p b{ color:var(--navy); }
.paper .u{ border-bottom:2px solid var(--red); padding-bottom:1px; }
.paper__sign{ margin-top:1.7rem; }
.paper__sigrow{ display:flex; gap:2.4rem; align-items:flex-end; flex-wrap:wrap; }
.paper__sig img{ height:46px; width:auto; display:block; margin-bottom:3px; }
.paper__sig span{ font-family:var(--font-type); font-size:.7rem; color:#4A4636; border-top:1px solid #cfc7b4; padding-top:3px; display:inline-block; }
.paper__role{ font-family:var(--font-type); font-size:.74rem; color:#6A6555; margin-top:.8rem; }
.paper__cta{ margin-top:1.6rem; }
@media (max-width:860px){ .letter__grid{ grid-template-columns:1fr; } .fl{ margin-top:1rem; } .letter__open{ display:none; } }   /* the envelope itself is the button on phones */
@media (max-width:520px){ .paper__photo{ float:none; width:120px; margin:0 auto 1rem; display:block; } }
@media (prefers-reduced-motion:reduce){ .lmodal, .paper, .fl, .peek, .polaroid{ transition:none; } .paper{ transform:none; } .peek{ animation:none; } }

/* ---------- who we are: storefront photos + copy + Repair/Educate/Grow ---------- */
.intro{ background:#fff; }
.intro__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.intro__media{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(.75rem,1.5vw,1.1rem); align-items:end; }
.intro__img{ margin:0; border-radius:22px; overflow:hidden; background:var(--grey-card); box-shadow:0 30px 70px -34px rgba(16,34,82,.45); }
.intro__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.intro__img--tall{ aspect-ratio:3/4; }
.intro__img--tall img{ object-position:center 20%; }
.intro__img--sq{ aspect-ratio:1/1; margin-bottom:clamp(1.5rem,4vw,3rem); }
.intro__copy p{ color:var(--ink); font-size:1.02rem; line-height:1.68; margin:1rem 0 0; max-width:54ch; }
.intro__copy .sub{ font-size:1.1rem; color:var(--navy); font-weight:500; margin-top:1.1rem; }
.pil{ display:grid; gap:.8rem; margin-top:1.75rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.pil__item{ display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; }
.pil__ic{ width:28px; height:28px; color:var(--navy); display:grid; place-items:center; margin-top:.05rem; }
.pil__ic .ic{ width:24px; height:24px; stroke-width:1.6; }
.pil__item b{ display:block; font-family:var(--font-head); font-weight:600; color:var(--navy); font-size:1.02rem; margin-bottom:.1rem; }
.pil__item span{ color:var(--ink); font-size:.95rem; line-height:1.55; }
@media (max-width:860px){ .intro__grid{ grid-template-columns:1fr; } .intro__media{ max-width:520px; order:2; } }

/* ---------- Our vision (dark) ---------- */
.vision{ background:linear-gradient(160deg,var(--navy),var(--navy-deep)); color:#fff; }
.vision__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.vision__img{ margin:0; border-radius:24px; overflow:hidden; aspect-ratio:4/5; max-width:460px; background:var(--navy-hover); box-shadow:0 30px 70px -30px rgba(0,0,0,.6); }
.vision__img img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; display:block; }   /* keeps the sign and her face */
.vision .eyebrow{ color:rgba(255,255,255,.7); }
.vision .h2{ color:#fff; }
.vision__copy p{ color:rgba(255,255,255,.76); font-size:1.05rem; line-height:1.65; margin:1rem 0 0; max-width:50ch; }
@media (max-width:860px){ .vision__grid{ grid-template-columns:1fr; } .vision__img{ order:2; max-width:420px; } }

/* ---------- start with no risk ---------- */
.norisk{ background:#fff; }
.norisk__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.norisk__card{ position:relative; background:var(--grey-card); border:1px solid var(--border); border-radius:var(--r-card); padding:1.7rem 1.5rem 1.6rem; }
.norisk__n{ display:block; font-family:var(--font-emph); font-style:italic; font-weight:600; font-size:2rem; line-height:1; color:var(--green); margin-bottom:.8rem; }
.norisk__card h3{ font-family:var(--font-head); font-weight:600; font-size:1.2rem; color:var(--navy); margin:0 0 .45rem; letter-spacing:-.01em; }
.norisk__card p{ margin:0; color:var(--ink); font-size:.97rem; line-height:1.6; }
.norisk__line{ text-align:center; font-family:var(--font-emph); font-style:italic; font-size:clamp(1.15rem,1.8vw,1.4rem); color:var(--navy); margin:clamp(1.75rem,3vw,2.5rem) 0 0; }
.norisk__fine{ text-align:center; font-size:.8rem; color:var(--ink-soft); margin:.6rem auto 0; max-width:60ch; }
@media (max-width:860px){ .norisk__grid{ grid-template-columns:1fr; } }

/* ---------- proof: verified Google reviews ---------- */
.proof{ background:var(--paper); }
.proof__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.25rem 2rem; margin-bottom:clamp(1.75rem,3.5vw,2.5rem); }
.proof__head .head{ margin-bottom:0; }
.proof__rating{ display:inline-flex; align-items:center; gap:.7rem; background:#fff; border:1px solid var(--border); border-radius:16px; padding:.7rem 1rem; text-decoration:none; color:var(--navy); box-shadow:var(--shadow-sm); }
.proof__rating .g{ width:28px; height:28px; }
.proof__rating > span{ display:flex; flex-direction:column; line-height:1.1; }
.proof__rating b{ font-family:var(--font-head); font-size:1.2rem; }
.proof__rating .stars{ font-size:.8rem; }
.proof__rating small{ font-size:.78rem; color:var(--ink-soft); }
.proof__rating:hover small{ text-decoration:underline; }
.proof__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; align-items:start; }
.rvc{ background:#fff; border:1px solid var(--border); border-radius:var(--r-card); padding:1.5rem; display:flex; flex-direction:column; gap:.8rem; }
.rvc__top{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.rvc__top .g{ width:18px; height:18px; }
.rvc p{ margin:0; color:var(--ink); font-size:.97rem; line-height:1.65; }
.rvc__who{ display:flex; align-items:center; gap:.7rem; margin-top:auto; }
.rvc__av{ width:38px; height:38px; border-radius:50%; background:var(--sky-soft); color:var(--sky-dark); display:grid; place-items:center; font-family:var(--font-head); font-weight:700; font-size:.9rem; flex:0 0 auto; }
.rvc__who b{ display:block; color:var(--navy); font-size:.92rem; }
.rvc__who span{ font-size:.78rem; color:var(--ink-soft); }
.rvc__who a{ margin-left:auto; font-size:.78rem; color:var(--sky-dark); text-decoration:none; white-space:nowrap; }
.rvc__who a:hover{ text-decoration:underline; }
.proof__foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.75rem; }
.proof__foot small{ color:var(--ink-soft); font-size:.8rem; }
@media (max-width:980px){ .proof__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .proof__grid{ grid-template-columns:1fr; } }

/* ---------- team: department tabs + gliding carousel (arrows reuse .team__navs / .team__nav from site.css) ---------- */
.about-team{ background:#fff; overflow:hidden; }
.about-team__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.25rem 2rem; }
.about-team__head .head{ margin-bottom:0; }
.tabs{ display:flex; gap:.5rem; margin:clamp(1.5rem,3vw,2rem) calc(-1 * var(--gutter)) 0; padding:.25rem var(--gutter) .5rem; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.tabs::-webkit-scrollbar{ display:none; }
@media (max-width:760px){ .tabs{ -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent); mask-image:linear-gradient(90deg,#000 85%,transparent); } }   /* hint that the row scrolls */
.tabs [role=tab]{ flex:0 0 auto; font-family:var(--font-head); font-size:.86rem; font-weight:600; color:var(--navy); background:#fff; border:1.5px solid var(--border); border-radius:999px; padding:.55rem 1.05rem; cursor:pointer; white-space:nowrap; transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease); }
.tabs [role=tab]:hover{ border-color:var(--navy); }
.tabs [role=tab][aria-selected="true"]{ background:var(--navy); border-color:var(--navy); color:#fff; }
.tcar{ position:relative; margin-top:clamp(1.25rem,2.5vw,1.75rem); }
.tcar__vp{ overflow:hidden; padding:20px 0 56px; margin:-20px 0 -56px; transition:opacity .23s var(--ease);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); mask-image:linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); }
.tcar__vp.is-fading{ opacity:0; }
.is-static .tcar__vp{ -webkit-mask-image:none; mask-image:none; }
.is-static .team__navs{ visibility:hidden; }
.tcar__track{ display:flex; gap:14px; will-change:transform; }
.is-static .tcar__track{ justify-content:center; }
.tcard{ flex:0 0 clamp(150px,16vw,212px); position:relative; margin:0; border-radius:18px; overflow:hidden; background:var(--grey-card); aspect-ratio:2/3; box-shadow:0 18px 40px -26px rgba(16,34,82,.42); }
/* The portraits are 2:3, so the card shows the full frame. The six off-ratio files are anchored to the top
   so only their bottom is cropped — the client complained about cut-off heads. */
.tcard img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.tcard__meta{ position:absolute; left:0; right:0; bottom:0; padding:1.6rem .85rem .8rem; background:linear-gradient(to top, rgba(8,18,42,.92) 0%, rgba(8,18,42,.5) 55%, rgba(8,18,42,0) 100%); }
.tcard__role{ display:none; font-family:var(--font-head); font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#8FB0E6; margin-bottom:.25rem; }
.is-mixed .tcard__role{ display:block; }   /* "Everyone" and Team Leads mix titles, so the card says which */
.tcard__nm{ display:block; font-family:var(--font-head); font-weight:600; color:#fff; font-size:.95rem; line-height:1.15; letter-spacing:-.01em; }
@media (max-width:760px){ .tcard__meta{ padding:1.1rem .65rem .6rem; } .tcard__nm{ font-size:.84rem; } }

/* ---------- office ---------- */
.office{ background:var(--paper); }
.office__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.office__img{ margin:0; border-radius:24px; overflow:hidden; aspect-ratio:4/3; background:var(--grey-card); box-shadow:0 30px 70px -30px rgba(16,34,82,.42); }
.office__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.office__facts{ list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:1rem; }
.office__facts li{ display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:center; }
.office__ic{ width:28px; height:28px; color:var(--navy); display:grid; place-items:center; }
.office__ic .ic{ width:24px; height:24px; stroke-width:1.6; }
.office__facts small{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.office__facts a{ font-family:var(--font-head); font-weight:600; color:var(--navy); font-size:1.02rem; text-decoration:none; overflow-wrap:anywhere; }
.office__facts a:hover{ text-decoration:underline; text-underline-offset:3px; }
.office .btns{ margin-top:1.8rem; }
@media (max-width:860px){ .office__grid{ grid-template-columns:1fr; } .office__img{ max-width:560px; } }
@media (max-width:560px){ .office .btns .btn{ flex:1 1 100%; } }

/* ---------- safety: the entrance animations the hero uses, duplicated so a site.css refactor can't leave the hero invisible ---------- */
@keyframes rise{ to{ opacity:1; transform:none; } }
@keyframes wipe{ to{ transform:scaleX(1); } }
.rise{ animation-name:rise; }
