/*
 * ===========================================================================
 *  TechAmerica (techamerica.ai) — author pages
 *  Designed and developed by OASIS · https://oasis.ind.in
 * ===========================================================================
 *
 * The design's author.html / authors.html styles. Loaded after category.css
 * and site.css on /author/<slug> and /authors only (views/author.php).
 */

/* ===== Author pages (shared) ===== */
.au-wrap{width:min(var(--wrap),calc(100% - 2 * clamp(16px,4vw,40px)));margin-inline:auto}
.au-h1{font-family:"Figtree","Inter",sans-serif;font-weight:900;font-size:clamp(3rem,2rem + 4.4vw,5.1rem);line-height:.95;letter-spacing:-.036em;text-wrap:balance}
.portrait{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:4px;background:#e8e8ed}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tags li{display:inline-flex;align-items:center;min-height:32px;padding-inline:12px;border-radius:999px;background:var(--sunken);font-size:var(--t-13);font-weight:500;color:var(--fg)}
.btn-more{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:71px;padding:0 28px;border:2px solid currentColor;border-radius:999px;background:transparent;color:var(--fg);font:inherit;font-size:20px;font-weight:500;line-height:1;cursor:pointer;transition:background-color .15s,color .15s}
.btn-more:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.btn-more:hover{background:var(--fg);color:var(--bg)}
.btn-more .arr{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(135deg)}
.more-row{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px}
.more-row p{font-size:var(--t-16);color:var(--muted);font-variant-numeric:tabular-nums}
/* Social icons (company footer, author cards, author profile). Official brand marks from Simple Icons, shown in black and white. */
.soc-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.soc-list li{display:flex}
.soc{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--fg);box-shadow:inset 0 0 0 1px #c7c7cc;transition:background-color .15s,color .15s,box-shadow .15s}
.soc svg{width:18px;height:18px;fill:currentColor}
a.soc:hover{background:var(--fg);color:var(--bg);box-shadow:inset 0 0 0 1px var(--fg)}
a.soc:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
/* When all eight icons do not fit on one line, they wrap as two even rows of four */
.acard-foot,.prof-text{container-type:inline-size}
@container (max-width:421px){.prof-social .soc-list{display:grid;grid-template-columns:repeat(4,44px)}}
@container (max-width:361px){.acard-soc{display:grid!important;grid-template-columns:repeat(4,40px)}}
.ad-wide{padding-block:40px;border-top:1px solid var(--line)}
.dir-ad{margin-top:56px}
.ad-wide .ad-box{max-width:728px;min-height:90px}
@media (max-width:760px){.ad-wide{padding-block:28px}.ad-wide .ad-box{max-width:300px;min-height:250px}.btn-more{height:52px;padding:0 22px;font-size:17px;gap:8px}.btn-more .arr{width:14px;height:14px}}

/* ===== Single author profile ===== */
.prof{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:center;padding-block:28px 48px;border-bottom:1px solid var(--line-strong)}
.prof .portrait{width:240px}
.prof-text{display:grid;gap:14px;min-width:0}
.prof .role{font-size:clamp(1.1875rem,1.12rem + .3vi,1.3125rem);font-weight:600;color:var(--fg)}
.prof .intro{font-size:clamp(1.1875rem,1.12rem + .3vi,1.3125rem);line-height:1.5;color:var(--fg2);max-width:62ch;text-wrap:pretty}
.prof-social{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:6px}
.links{display:flex;flex-wrap:wrap;gap:10px;margin:0;list-style:none;padding:0}
.links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding-inline:18px;border:1px solid #c7c7cc;border-radius:999px;font-size:var(--t-15);font-weight:500;color:var(--fg);transition:background-color .15s,color .15s,border-color .15s}
.links a:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.links .bi,.links .ico{width:17px;height:17px}
.prof-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;grid-template-areas:"list about" "list rail";grid-template-rows:auto 1fr;column-gap:64px;padding-block:40px 80px;align-items:start}
.about{grid-area:about;padding:28px;background:var(--sunken);border-radius:4px}
.about h2{font-size:1.75rem;line-height:1.2;font-weight:700;letter-spacing:-.5px}
.about p{font-size:1.0625rem;line-height:1.6;color:var(--fg2);margin-top:12px}
.about h3{font-size:var(--t-16);font-weight:700;margin-top:24px;margin-bottom:10px}
.about .tags li{background:var(--bg)}
.about dl{margin:20px 0 0;display:grid;gap:4px}
.about dt{font-size:var(--t-13);font-weight:600;color:var(--muted)}
.about dd{margin:0 0 10px;font-size:var(--t-16);color:var(--fg)}
.about dd a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rail{grid-area:rail;margin-top:32px;position:sticky;top:96px}
.rail .ad-rect .ad-box{width:300px;max-width:100%}
.list{grid-area:list;min-width:0}
.list>h2{font-size:clamp(1.75rem,1.46rem + 1.22vi,2.5rem);line-height:1.1;font-weight:700;letter-spacing:-.5px;padding-bottom:16px;border-bottom:2px solid var(--fg)}
.feed{list-style:none;margin:0;padding:0;display:grid}
.feed>li+li{border-top:1px solid var(--line)}
.crow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:32px;padding-block:32px;align-items:start}
.crow .media{aspect-ratio:3/2}
.row-text{display:grid;gap:10px;align-content:start}
.crow .kicker{font-size:var(--t-13);font-weight:600;letter-spacing:.01em;color:var(--fg2)}
.crow h3{font-size:clamp(1.375rem,1.2rem + .7vi,1.75rem);line-height:1.18;font-weight:700;letter-spacing:-.5px;text-wrap:pretty}
.crow h3 a::after{content:"";position:absolute;inset:0}
.crow:hover h3 a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.crow p{font-size:1.0625rem;line-height:1.5;color:var(--fg2);max-width:62ch}
.crow .meta{font-size:var(--t-13);color:var(--muted);gap:2px 10px}
.crow .meta b{font-weight:600;color:var(--fg)}
.crow .meta span+span::before{margin-right:10px}
.feed-ad{padding-block:32px;border-top:1px solid var(--line)}
.feed-ad .ad-box{max-width:728px;min-height:90px}
@media (max-width:1180px){.prof-layout{grid-template-columns:minmax(0,1fr) 300px;column-gap:48px}}
@media (max-width:1023px){
  .prof{grid-template-columns:180px minmax(0,1fr);gap:36px}.prof .portrait{width:180px}
  .prof-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"about" "list";grid-template-rows:auto auto;row-gap:48px;padding-bottom:56px}
  .rail{display:none}
}
@media (max-width:760px){
  .prof{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:20px 36px}
  .prof .portrait{width:144px}
  .prof-layout{padding-block:28px 56px;row-gap:40px}
  .about{padding:22px}
  .crow{grid-template-columns:minmax(0,1fr) 120px;gap:16px;padding-block:24px}
  .crow .media{order:2;aspect-ratio:1/1}
  .row-text{order:1;gap:8px}
  .crow h3{font-size:1.1875rem;line-height:1.22}
  .crow p{display:none}
  .crow .meta span:first-child{flex-basis:100%}
  .crow .meta span:nth-child(2)::before{content:none}
  .feed-ad{padding-block:24px}.feed-ad .ad-box{max-width:300px;min-height:250px}
  .links a{padding-inline:14px}
  .prof-social .soc-list{gap:8px}
}

/* ===== Authors directory ===== */
.dir-head{padding-block:28px 32px}
.dir-intro{font-size:clamp(1.1875rem,1.12rem + .3vi,1.3125rem);line-height:1.5;color:var(--fg2);max-width:62ch;margin-top:18px}
.dir-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-block:8px 0;border-bottom:1px solid var(--line-strong)}
.search{position:relative;max-width:520px}
.search label{display:block;font-size:var(--t-15);font-weight:600;margin-bottom:8px}
.search .ico{position:absolute;left:18px;bottom:15px;width:20px;height:20px;color:var(--muted);pointer-events:none}
.search input{width:100%;height:52px;padding:0 18px 0 50px;border:1px solid #c7c7cc;border-radius:999px;background:var(--bg);color:var(--fg);font:inherit;font-size:var(--t-16)}
.search input::placeholder{color:#6e6e73;opacity:1}
.search input:focus{outline:2px solid var(--fg);outline-offset:2px;border-color:var(--fg)}
.topic-tabs{display:flex;flex-wrap:wrap;gap:0 14px}
.topic-tabs button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:44px;padding:0 4px;border:0;background:none;font:inherit;font-size:var(--t-16);font-weight:500;color:var(--muted);cursor:pointer}
.topic-tabs button:hover{color:var(--fg)}
.topic-tabs button[aria-pressed="true"]{color:var(--fg)}
.topic-tabs button:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:2px}
.topic-tabs button[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--fg)}
.topic-select{display:none}
.topic-select label{display:block;font-size:var(--t-15);font-weight:600;margin-bottom:8px}
.topic-select select{width:100%;height:52px;padding:0 44px 0 18px;border:1px solid #c7c7cc;border-radius:999px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%231d1d1f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center/18px;color:var(--fg);font:inherit;font-size:var(--t-16);appearance:none}
.topic-select select:focus{outline:2px solid var(--fg);outline-offset:2px}
.dir-count{font-size:var(--t-16);color:var(--muted);padding-block:24px 0;font-variant-numeric:tabular-nums}
.grid{list-style:none;margin:0;padding:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.acard{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:22px;row-gap:16px;height:100%;padding:28px;border:1px solid var(--line-strong);border-radius:4px;background:var(--bg);transition:border-color .15s}
.acard:hover{border-color:var(--fg)}
.acard .portrait{grid-row:1;width:112px}
.acard .who{grid-row:1;align-self:center;display:grid;gap:6px;min-width:0}
.acard h2{font-size:clamp(1.25rem,1.15rem + .4vi,1.4375rem);line-height:1.2;font-weight:700;letter-spacing:-.5px}
.acard h2 a::after{content:"";position:absolute;inset:0;border-radius:4px}
.acard:hover h2 a{text-decoration:underline;text-underline-offset:3px}
.acard .role{font-size:var(--t-15);line-height:1.4;color:var(--muted)}
.acard .bio{grid-column:1/-1;font-size:1.0625rem;line-height:1.55;color:var(--fg2);text-wrap:pretty}
.acard .acard-foot{grid-column:1/-1;display:grid;gap:18px;align-self:end}
.acard .view{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-15);font-weight:600;color:var(--fg)}
.acard .view .arr{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.acard:focus-within{border-color:var(--fg)}
.acard-soc{position:relative;z-index:1;gap:6px}
.acard-soc .soc{width:40px;height:40px}
.acard-soc .soc svg{width:16px;height:16px}
#dirSocNote{margin-top:6px}
.empty{padding:48px 0;text-align:center}
.empty p{font-size:var(--t-19);color:var(--fg2)}
.empty button{margin-top:20px}
@media (max-width:1180px){.grid{gap:24px}.acard{padding:24px;grid-template-columns:96px minmax(0,1fr)}.acard .portrait{width:96px}}
@media (max-width:1023px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .dir-head{padding-block:20px 24px}
  .topic-tabs{display:none}.topic-select{display:block}
  .dir-tools{padding-bottom:24px}
  .grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .acard{padding:20px;grid-template-columns:88px minmax(0,1fr);column-gap:18px}
  .acard .portrait{width:88px}
}

/* ===== CMS additions ===== */
/* Portrait when an author has no photo: their initials */
.portrait.ph{display:grid;place-items:center;font-family:"Figtree","Inter",sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--fg);background:#e8e8ed;font-size:2.25rem;line-height:1}
.prof .portrait.ph{font-size:4.5rem}
/* category.css drops the first row's top padding; the profile list keeps it (rows sit under the heading rule) */
.au-page .feed>li:first-child .crow{padding-top:32px}
.au-page #feedA+#feedB>li:first-child{border-top:1px solid var(--line)}
.au-page .cat-empty{padding-top:28px}
.about-body>p+p{margin-top:12px}
.about-body a{text-decoration:underline;text-underline-offset:3px}
a.btn-more{text-decoration:none}
.btn-more[aria-busy="true"]{opacity:.6;pointer-events:none}
.more-back{font-size:var(--t-15);font-weight:500;color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.acard .view .arr{transform:none}
/* Cards that do not match the search or topic, or wait behind "Load more authors" */
.grid>li[hidden]{display:none}
@media (max-width:760px){.au-page .feed>li:first-child .crow{padding-top:24px}.prof .portrait.ph{font-size:3rem}}
@media (max-width:640px){.acard .portrait.ph{font-size:1.75rem}}
