/* ============================================================
   IAASTHA — WordPress integration components.
   Layered on top of assets/css/site.css (design tokens + chrome).
   Only GENERIC, shared components live here; page-specific section
   styles are ported inline into their templates (guarded print-once).
   ============================================================ */

/* ---------- live "decision feed" / build-monitor panel ---------- */
.feed{
  background:var(--panel);border:1px solid rgba(252,252,253,0.12);border-radius:6px;
  padding:16px 16px 14px;font-family:var(--font-mono);color:rgba(252,252,253,0.9);
  box-shadow:0 30px 70px rgba(0,0,0,0.45);
}
.feed__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.feed__title{font-size:10.5px;letter-spacing:0.14em;color:rgba(252,252,253,0.55);}
.live{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:0.12em;color:var(--violet-light);}
.live__dot{width:7px;height:7px;border-radius:50%;background:var(--violet);display:inline-block;animation:pulse 1.6s ease-in-out infinite;}
.feed__rows{display:flex;flex-direction:column;gap:2px;min-height:120px;}
.feed-row{display:grid;grid-template-columns:64px 74px 1fr auto;align-items:center;gap:10px;padding:7px 8px;border-radius:3px;font-size:11px;background:rgba(252,252,253,0.02);}
.feed-row:nth-child(odd){background:rgba(252,252,253,0.04);}
.feed-row__t{color:rgba(252,252,253,0.4);}
.feed-row__d{color:var(--violet-light);letter-spacing:0.06em;}
.feed-row__m{color:rgba(252,252,253,0.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.feed-chip{font-size:9.5px;letter-spacing:0.08em;padding:3px 8px;border-radius:2px;background:var(--violet);color:#fff;}
.feed-chip--off{background:transparent;border:1px solid rgba(252,252,253,0.3);color:rgba(252,252,253,0.6);}
.feed__fte{display:flex;align-items:baseline;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(252,252,253,0.1);}
.feed__fte-num{font-family:var(--font-display);font-size:34px;font-weight:600;color:var(--paper);letter-spacing:-0.02em;line-height:1;}
.feed__fte-label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;color:rgba(252,252,253,0.6);margin-top:5px;}
/* Ramp meter — sits above the log rows, as in the design */
.feed__meter{display:flex;align-items:center;gap:20px;padding:16px;border-bottom:1px solid rgba(252,252,253,0.08);}
.feed__ramp{flex:1;min-width:0;}
.feed__bars{display:flex;gap:3px;}
.feed__bars i{flex:1;height:5px;display:block;background:rgba(252,252,253,0.15);}
.feed__bars i.is-done{background:var(--violet);}
.feed__bars i.is-active{background:var(--violet-light);animation:feedPulse 2s ease-in-out infinite;}
.feed__phase{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-family:var(--font-mono);font-size:8px;letter-spacing:0.06em;color:rgba(252,252,253,0.55);white-space:nowrap;}
.feed__phase .on{color:var(--violet-light);}
@keyframes feedPulse{0%,100%{opacity:1;}50%{opacity:0.45;}}
@media (prefers-reduced-motion:reduce){.feed__bars i.is-active{animation:none;}}
.feed__foot{margin-top:12px;padding-top:12px;border-top:1px solid rgba(252,252,253,0.1);font-size:9.5px;letter-spacing:0.1em;color:rgba(252,252,253,0.45);}
@media (max-width:520px){
  .feed-row{grid-template-columns:56px 1fr auto;}
  .feed-row__d{display:none;}
}

/* ---------- shared hero band (template-parts/hero.php) ---------- */
.hero-band__title{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,5.4vw,84px);letter-spacing:-0.03em;line-height:1.04;margin:20px 0 0;max-width:16ch;}
.hero-band__title .accent{color:var(--violet-light);}
.hero-band__lede{margin:22px 0 0;max-width:620px;font-size:18px;line-height:1.65;color:rgba(252,252,253,0.64);font-family:var(--font-body);}
.hero-band__cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- closing CTA band (template-parts/cta-band.php) ---------- */
.cta-band__inner{max-width:820px;}
.cta-band__title{font-family:var(--font-display);font-weight:600;font-size:clamp(30px,3.6vw,52px);letter-spacing:-0.02em;line-height:1.08;margin:16px 0 0;}
.zone--violet .cta-band__title,.zone--violet .cta-band__body{color:#fff;}
.cta-band__body{margin:18px 0 0;font-size:17px;line-height:1.65;color:rgba(252,252,253,0.7);font-family:var(--font-body);max-width:640px;}
.cta-band__actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- breadcrumbs ---------- */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;color:var(--body);}
.crumbs li{display:flex;align-items:center;gap:8px;}
.crumbs li:not(:last-child)::after{content:"/";color:var(--violet);opacity:0.6;}
.crumbs a{color:var(--body);}
.crumbs a:hover{color:var(--violet-hover);}
.crumbs [aria-current="page"]{color:var(--violet-hover);}
.crumbs--dark,.crumbs--dark a,.crumbs--dark [aria-current="page"]{color:rgba(252,252,253,0.55);}
.crumbs--dark a:hover{color:var(--paper);}

/* ---------- pagination ---------- */
.iaastha-pagination{margin-top:48px;}
.iaastha-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:12px;}
.iaastha-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--hair-ink);border-radius:2px;color:var(--ink-text);transition:background .12s ease,border-color .12s ease;}
.iaastha-pagination .page-numbers:hover{background:var(--tint);border-color:var(--violet);}
.iaastha-pagination .page-numbers.current{background:var(--violet);color:#fff;border-color:var(--violet);}
.iaastha-pagination .page-numbers.dots{border:none;}

/* ---------- search form ---------- */
.search-form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px;}
.search-form__field{flex:1 1 240px;min-height:50px;padding:0 16px;border:1px solid var(--hair-ink);border-radius:2px;font-family:var(--font-body);font-size:15px;background:var(--paper);color:var(--ink-text);}
.search-form__field:focus{outline:none;border-color:var(--violet);}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- generic index list / cards ---------- */
.index-list{display:flex;flex-direction:column;}
.index-row--3{grid-template-columns:120px 1fr 40px;}
.index-row__title{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:-0.01em;}
.index-empty{font-size:16px;color:var(--body);margin-bottom:20px;}
@media (max-width:640px){
  .index-row--3{grid-template-columns:1fr 32px;}
  .index-row--3 .idx{grid-column:1 / -1;margin-bottom:4px;}
}

/* card grid helper for archives */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1px;background:var(--hair-ink);border:1px solid var(--hair-ink);}
.card{background:var(--paper);padding:28px 26px;display:flex;flex-direction:column;gap:12px;transition:background .12s ease;min-width:0;}
.card:hover{background:var(--tint);}
.card__eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;color:var(--violet);}
.card__title{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-0.01em;color:var(--ink-text);}
.card__desc{font-size:14.5px;line-height:1.6;color:var(--body);}
.card__meta{margin-top:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;color:rgba(14,14,18,0.55);display:flex;gap:12px;flex-wrap:wrap;}
.card__thumb{aspect-ratio:3/2;overflow:hidden;background:var(--alt);margin:-28px -26px 4px;}
.card__thumb img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- decorative motif tiles (service cards) ---------- */
.motif{position:relative;width:100%;aspect-ratio:2/1;border:1px solid var(--hair-ink);border-radius:4px;overflow:hidden;background:var(--alt);}
.motif__grid{position:absolute;inset:0;background-image:
  repeating-linear-gradient(0deg,rgba(14,14,18,0.05) 0 1px,transparent 1px 22px),
  repeating-linear-gradient(90deg,rgba(14,14,18,0.05) 0 1px,transparent 1px 22px);}
.motif__label{position:absolute;left:12px;bottom:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;color:var(--violet-hover);}
.motif::after{content:"";position:absolute;inset:20% 16%;border:1.5px solid var(--violet);opacity:0.5;}
.motif--orbit::after{border-radius:50%;}
.motif--rings::after{border-radius:50%;box-shadow:0 0 0 10px rgba(108,56,245,0.14);}
.motif--bars::after{border:none;background:linear-gradient(90deg,var(--violet) 0 12%,transparent 12% 20%,var(--violet) 20% 40%,transparent 40% 48%,var(--violet) 48% 64%,transparent 64% 72%,var(--violet) 72% 100%);opacity:0.5;}
.motif--pipeline::after,.motif--flow::after{inset:44% 16%;border:none;border-top:1.5px dashed var(--violet);}
.motif--histogram::after{border:none;background:repeating-linear-gradient(90deg,var(--violet) 0 8%,transparent 8% 16%);opacity:0.45;}
.motif--nodes::after{border-radius:50%;box-shadow:36px 0 0 -4px var(--violet),-36px 0 0 -4px var(--violet);}
.motif--roadmap::after{inset:46% 14%;border:none;border-top:2px solid var(--violet);}

/* ---------- forms (contact + comments) ---------- */
.frm{display:flex;flex-direction:column;gap:16px;max-width:560px;}
.frm__row{display:flex;flex-direction:column;gap:7px;}
.frm__label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;color:var(--body);}
.frm__input,.frm__textarea,.frm__select{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--hair-ink);border-radius:2px;font-family:var(--font-body);font-size:15px;background:var(--paper);color:var(--ink-text);}
.frm__textarea{min-height:140px;resize:vertical;}
.frm__input:focus,.frm__textarea:focus,.frm__select:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 2px rgba(108,56,245,0.15);}
.frm__error{font-family:var(--font-mono);font-size:11px;color:#C0392B;min-height:14px;}
.frm__success{border:1px dashed var(--violet);background:var(--tint);border-radius:4px;padding:22px 24px;}
.frm__success-stamp{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;color:var(--violet);}

/* ---------- article / single content typography ---------- */
.entry-content{font-size:17px;line-height:1.8;color:var(--body);max-width:760px;}
.entry-content h2{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,2.6vw,34px);letter-spacing:-0.02em;color:var(--ink-text);margin:44px 0 16px;}
.entry-content h3{font-family:var(--font-display);font-weight:600;font-size:21px;color:var(--ink-text);margin:32px 0 12px;}
.entry-content p{margin:0 0 20px;}
.entry-content a{color:var(--violet-hover);text-decoration:underline;text-underline-offset:2px;}
.entry-content a:hover{color:var(--violet);}
.entry-content blockquote{margin:28px 0;padding:6px 0 6px 24px;border-left:2px solid var(--violet);font-family:var(--font-display);font-size:22px;line-height:1.4;color:var(--ink-text);}
.entry-content ul,.entry-content ol{margin:0 0 20px;padding-left:22px;}
.entry-content li{margin-bottom:8px;}
.entry-content img{max-width:100%;height:auto;border-radius:4px;}
.entry-content figure{margin:28px 0;}
.entry-content figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:rgba(14,14,18,0.55);margin-top:8px;}
.entry-content .wp-block-pullquote,.entry-content .wp-block-quote.is-style-large{border:none;border-left:2px solid var(--violet);}

/* utility */
.zone-pad{padding-top:clamp(72px,9vw,110px);padding-bottom:clamp(72px,9vw,110px);}
.error-404{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(72px,9vw,110px);}
.error-404__links{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.img-slot{display:flex;align-items:center;justify-content:center;border:1px dashed var(--hair-ink);color:rgba(14,14,18,0.4);font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;background:var(--alt);border-radius:4px;text-align:center;padding:16px;}
.zone--ink .img-slot,.zone--violet .img-slot{border-color:rgba(252,252,253,0.25);color:rgba(252,252,253,0.45);background:rgba(252,252,253,0.03);}

/* ============================================================
   Homepage additions — Case studies, Insights carousel, Clients
   ============================================================ */
/* Case studies (03) */
.case-stats{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;border-top:1px solid var(--hair-paper);border-bottom:1px solid var(--hair-paper);font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;color:rgba(252,252,253,0.6);margin:34px 0 0;padding:14px 0;}
.case-stats .i{padding-right:8px;}
.case-stats .d{color:var(--violet-light);padding:0 14px;}
.cases{display:grid;grid-template-columns:repeat(3,1fr);margin-top:0;border-bottom:1px solid var(--hair-paper);}
.case-card{display:flex;flex-direction:column;gap:14px;padding:30px 26px 26px;border-left:1px solid var(--hair-paper);color:var(--paper);transition:background .15s ease;}
.case-card:first-child{border-left:none;}
.case-card:hover{background:rgba(252,252,253,0.03);}
.case-card__id{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;color:rgba(252,252,253,0.45);}
.case-card__sector{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;color:var(--violet-light);}
.case-card__title{font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-0.015em;margin:0;}
.case-card__body{font-size:13.5px;line-height:1.6;color:rgba(252,252,253,0.55);margin:0;}
.case-card__arrow{margin-top:auto;width:38px;height:38px;border:1px solid var(--hair-paper);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--violet-light);font-size:16px;transition:border-color .15s ease,background .15s ease;}
.case-card:hover .case-card__arrow{border-color:var(--violet-light);background:rgba(169,140,255,0.08);}
@media (max-width:820px){
	.cases{grid-template-columns:1fr;}
	.case-card{border-left:none;border-top:1px solid var(--hair-paper);}
	.case-card:first-child{border-top:none;}
}

/* Insights carousel (07) */
.ins-carousel__nav{display:flex;align-items:center;gap:12px;padding-bottom:4px;}
.carousel-btn{width:40px;height:40px;border:1px solid var(--hair-ink);border-radius:50%;background:transparent;color:var(--ink-text);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;}
.carousel-btn:hover{border-color:var(--ink-text);background:var(--tint);}
.carousel-btn[disabled]{opacity:0.28;cursor:default;}
.carousel-btn[disabled]:hover{border-color:var(--hair-ink);background:transparent;}
.ins-carousel{position:relative;}
.ins-track{list-style:none;margin:0;padding:2px 0 10px;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.ins-track::-webkit-scrollbar{display:none;}
.ins-track:focus-visible{outline:none;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--violet);border-radius:2px;}
.ins-track>li{flex:0 0 clamp(258px,32%,360px);scroll-snap-align:start;display:flex;}
.ins-card{display:flex;flex-direction:column;width:100%;border:1px solid var(--hair-ink);border-radius:2px;background:var(--paper);color:var(--ink-text);transition:border-color .15s ease,background .15s ease;}
.ins-card:hover{border-color:rgba(14,14,18,0.32);background:var(--tint);}
.ins-card__thumb{position:relative;height:130px;background:var(--ink);border-bottom:1px solid var(--hair-ink);overflow:hidden;}
.ins-card__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ins-card__thumb::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(252,252,253,0.05) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,rgba(252,252,253,0.05) 0 1px,transparent 1px 22px);}
.ins-card__thumb:has(img)::before,.ins-card__thumb:has(img)::after{display:none;}
.ins-card__thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(120px 90px at 72% 26%,rgba(108,56,245,0.55),transparent 70%);}
.ins-card:nth-child(3n+2) .ins-card__thumb::after{background:radial-gradient(120px 90px at 28% 32%,rgba(169,140,255,0.5),transparent 70%);}
.ins-card:nth-child(3n) .ins-card__thumb::after{background:radial-gradient(140px 90px at 50% 24%,rgba(108,56,245,0.4),transparent 72%);}
.ins-card__sq{position:absolute;top:12px;left:12px;width:7px;height:7px;background:var(--violet-light);z-index:1;}
.ins-card__tag{position:absolute;bottom:10px;left:12px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.12em;color:rgba(252,252,253,0.7);z-index:1;}
.ins-card__kind{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;color:var(--violet);padding:18px 20px 0;}
.ins-card__title{font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-0.015em;padding:10px 20px 0;}
.ins-card__by{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.1em;color:rgba(14,14,18,0.5);padding:13px 20px 0;}
.ins-card__arrow{margin-top:auto;color:var(--violet);font-size:20px;padding:16px 20px 18px;}

/* Our clients */
.client-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--hair-ink);border:1px solid var(--hair-ink);border-radius:2px;overflow:hidden;}
.client-grid .logo-slot{height:90px;border:none;border-radius:0;background:var(--alt);color:rgba(14,14,18,0.5);transition:background .15s ease,color .15s ease;}
.client-grid .logo-slot:hover{background:var(--paper);color:var(--violet);}
.client-note{margin:22px 0 0;font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:rgba(14,14,18,0.5);}
@media (max-width:900px){.client-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:520px){.client-grid{grid-template-columns:repeat(2,1fr);}}

/* ============================================================
   Insights content-type dropdown (Blog / Case Studies)
   ============================================================ */
.ins-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ins-dd{position:relative;}
.ins-dd__btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.1em;color:var(--ink-text);background:transparent;border:1px solid rgba(14,14,18,0.2);border-radius:2px;cursor:pointer;transition:border-color .15s ease;}
.ins-dd__btn:hover{border-color:var(--violet);}
.ins-dd__cur{color:rgba(14,14,18,0.42);}
.ins-dd__val{color:var(--ink-text);font-weight:500;}
.ins-dd__caret{color:var(--violet);transition:transform .2s ease;}
.ins-dd__btn[aria-expanded="true"] .ins-dd__caret{transform:rotate(180deg);}
.ins-dd__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;list-style:none;margin:0;padding:6px;background:var(--paper);border:1px solid var(--hair-ink);border-radius:2px;box-shadow:0 18px 40px rgba(11,11,15,0.16);z-index:20;display:none;}
.ins-dd__menu.open{display:block;}
.ins-dd__menu a{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.08em;padding:12px 12px;border-radius:2px;cursor:pointer;color:rgba(14,14,18,0.7);}
.ins-dd__menu a:hover{background:var(--tint);color:var(--ink-text);}
.ins-dd__menu a[aria-current="true"]{color:var(--violet);background:var(--tint);}
.ins-dd__menu a .c{font-family:var(--font-mono);font-size:11px;color:rgba(14,14,18,0.4);}

/* ============================================================
   FAQ (shared component)
   ============================================================ */
.faq-sec{border-top:1px solid var(--hair-ink-soft);}
.faq-sec > .wrap{padding-top:clamp(64px,8vw,90px);padding-bottom:clamp(72px,9vw,96px);}
.faq-h2{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,3.2vw,44px);letter-spacing:-0.025em;line-height:1.05;margin:16px 0 30px;}
.faq{border-top:1px solid var(--hair-ink);}
.faq__item{border-bottom:1px solid var(--hair-ink);}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 6px;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-0.01em;color:var(--ink-text);}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary .q-sign{font-family:var(--font-mono);font-size:22px;color:var(--violet);transition:transform .2s ease;flex:none;line-height:1;}
.faq__item[open] summary .q-sign{transform:rotate(45deg);}
.faq__item p{margin:0 6px 26px;max-width:760px;font-size:15px;line-height:1.7;color:var(--body);}
.faq__item p a{color:var(--violet-hover);border-bottom:1px solid currentColor;}
.zone--ink .faq,.zone--ink .faq__item{border-color:var(--hair-paper);}
.zone--ink .faq__item summary{color:var(--paper);}
.zone--ink .faq__item p{color:rgba(252,252,253,0.62);}
