/*
 * Page styles — capabilities/search
 * Source: _design-source/HTML Layout New/kosh-search-v2.html
 * Shared header/footer styles live in ../components/.
 */

html{overflow-x:hidden;scroll-behavior:smooth;}

.rv{opacity:0;transform:translateY(14px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
.rv.in{opacity:1;transform:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}

.prog{position:fixed;top:0;left:0;right:0;height:2px;background:var(--rul);z-index:600;}
.prog-fill{height:100%;background:var(--cr);width:0%;}/* ── HERO BANNER — full bleed dark, typographic ── */
.hero{
  background:var(--bg-page);
  padding:clamp(64px,8vw,112px) var(--pad) 0;
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;}/* Subtle dark texture — radial glow from top-right */
.hero-eyebrow{color:var(--color-primary);display:block;margin-bottom:32px;}.hero-hl{color:var(--text-primary);max-width:640px;margin-bottom:0;}.hero-hl em{font-style:italic;}/* The big editorial statement line — large, breathing, at the bottom of the hero */
.hero-statement{
  margin-top:56px;
  padding-top:40px;
  border-top:1px solid var(--line);
  display:flex;align-items:flex-end;justify-content:space-between;gap:48px;
  flex-wrap:wrap;}.hero-statement-left{;}.hero-big{
  color:var(--text-primary);
  display:block;}.hero-big em{font-style:italic;}.hero-statement-right{
  max-width:380px;
  padding-bottom:16px;}.hero-statement-body{font-size:15px;color:var(--text-secondary);line-height:1.72;margin-bottom:20px;}.hero-statement-body strong{color:var(--text-primary);font-weight:400;}.hero-cta-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s,gap .2s var(--ease);}.hero-cta-link:hover{color:var(--color-secondary);border-color:var(--rs);gap:14px;}.hero-cta-link svg{width:10px;height:10px;}/* Stat strip at very bottom of hero */
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  margin-top:56px;}.hs{padding:24px 0;border-right:1px solid var(--line);}.hs:last-child{border-right:none;}.hs-n{font-family:var(--serif);font-size:clamp(20px,2.5vw,30px);font-weight:300;color:var(--text-primary);display:block;line-height:1;margin-bottom:5px;}.hs-n em{color:var(--color-secondary);font-style:normal;}.hs-l{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);}/* ── SECTIONS ── */
.sec{padding:var(--section-y) var(--pad);}
.sec.sand{background:var(--snd);border-bottom-color:var(--rul);}.sec.dark{background:var(--dk);}
.sec.dark2{background:var(--dk2);border-bottom-color:rgba(255,255,255,.05);}

.eyebrow{color:var(--cr);margin-bottom:16px;}

.sec-hl{color:var(--ink);margin-bottom:14px;}
.sec-hl em{font-style:italic;}
.sec-hl.lt{color:#fff;}
.sec-hl.lt em{color:var(--rs);}
.sec-body{color:var(--ink);max-width:480px;margin-bottom:20px;}
.sec-body.lt{color:var(--text-on-dark-3);}
.sec-body strong{color:var(--ink);font-weight:400;}
.sec-body.lt strong{color:rgba(255,255,255,.8);font-weight:400;}

/* Two-col layout */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.two-col.center{align-items:center;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;}

/* Service rows */
.svc-row{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--rul);}
.sec.dark .svc-row,.sec.dark2 .svc-row{border-bottom-color:rgba(255,255,255,.07);}
.svc-row:first-child{border-top:1px solid var(--rul);}
.sec.dark .svc-row:first-child,.sec.dark2 .svc-row:first-child{border-top-color:rgba(255,255,255,.07);}
.svc-name{font-size:14px;font-weight:400;color:var(--ink);margin-bottom:3px;}
.sec.dark .svc-name,.sec.dark2 .svc-name{color:rgba(255,255,255,.85);}
.svc-desc{color:var(--light);}
.sec.dark .svc-desc,.sec.dark2 .svc-desc{color:var(--text-on-dark-3);}
.svc-badge{font-size:12px;letter-spacing:.05em;color:var(--light);white-space:nowrap;padding-top:3px;}
.sec.dark .svc-badge,.sec.dark2 .svc-badge{color:var(--text-on-dark-3);}

/* Stat cells */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rul);border:1px solid var(--rul);}
.stat-cell{padding:28px 28px;background:var(--k-sky);display:flex;flex-direction:column;gap:8px;}
.sec.sand .stat-cell{background:var(--snd);}
.sec.dark .stat-cell,.sec.dark2 .stat-cell{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.stat-n{font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:300;color:var(--ink);line-height:1;}
.stat-n em{color:var(--cr);font-style:normal;}
.sec.dark .stat-n,.sec.dark2 .stat-n{color:#fff;}
.sec.dark .stat-n em,.sec.dark2 .stat-n em{color:var(--rs);}
.stat-l{font-size:13px;letter-spacing:.06em;color:var(--light);}
.sec.dark .stat-l,.sec.dark2 .stat-l{color:var(--text-on-dark-3);}

/* SERP mockup */
.serp-wrap{border:1px solid var(--rul);overflow:hidden;background:var(--k-sky);}
.serp-bar{height:28px;background:#f5f5f5;border-bottom:1px solid var(--rul);display:flex;align-items:center;padding:0 12px;gap:6px;}
.sd{width:6px;height:6px;border-radius:50%;}
.sd-r{background:#ff5f57;}.sd-y{background:#febc2e;}.sd-g{background:#28c840;}
.serp-search{flex:1;margin:0 8px;height:15px;background:var(--k-sky);border:1px solid var(--rul);border-radius:7px;display:flex;align-items:center;padding:0 8px;gap:4px;}
.serp-search span{font-size:9px;color:#444;}
.ai-panel{padding:12px 14px;background:#f8f9ff;border-bottom:1px solid #dde0ff;}
.ai-label{display:flex;align-items:center;gap:5px;margin-bottom:7px;}
.ai-orb{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#2563eb);}
.ai-title{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#4f46e5;font-weight:500;}
.ai-text{font-size:9px;color:#202124;line-height:1.55;margin-bottom:8px;}
.ai-cites{display:flex;gap:5px;flex-wrap:wrap;}
.ai-cite{display:flex;align-items:center;gap:3px;padding:2px 7px;background:var(--k-sky);border:1px solid #dde0ff;border-radius:10px;}
.ai-cite-n{width:10px;height:10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:6px;color:#fff;flex-shrink:0;}
.ai-cite-d{font-size:7px;color:#4f46e5;}
.ai-cite-d.ours{color:var(--cr);font-weight:500;}
.organic{padding:10px 14px;}
.org-result{padding:8px 0;border-bottom:1px solid var(--rul);}
.org-result:last-child{border-bottom:none;}
.org-url{font-size:8px;color:#444;margin-bottom:2px;display:flex;align-items:center;gap:3px;}
.org-url.ours{color:var(--cr);}
.org-fav{width:8px;height:8px;border-radius:2px;background:var(--rul);}
.org-fav.ours{background:var(--cr);}
.org-title{font-size:11px;color:#1a0dab;line-height:1.3;margin-bottom:2px;}
.org-title.ours{color:var(--cr);}
.org-desc{color:#4d5156;}
.serp-legend{padding:7px 14px;background:var(--snd);border-top:1px solid var(--rul);display:flex;gap:14px;}
.sl-item{display:flex;align-items:center;gap:4px;font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--light);}
.sl-dot{width:5px;height:5px;border-radius:50%;}

/* Quote pull */
.pull-quote{
  border-left:2px solid var(--cr);
  padding:20px 28px;
  background:var(--snd);
  margin:24px 0;}
.pull-quote p{font-family:var(--serif);font-size:clamp(16px,1.8vw,20px);font-weight:300;font-style:italic;color:var(--ink);line-height:1.5;}
.pull-quote.lt{background:rgba(255,255,255,.04);border-left-color:var(--rs);}
.pull-quote.lt p{color:rgba(255,255,255,.75);}

/* CTA link */

/* Mid-banner — full bleed SVG dark between sections */
.mid-banner{position:relative;overflow:hidden;width:100%;}
.mid-banner svg{display:block;width:100%;}
.mid-banner-overlay{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--pad);gap:80px;}
.mb-quote{font-family:var(--serif);font-size:clamp(18px,2.2vw,26px);font-weight:300;font-style:italic;color:#fff;line-height:1.35;max-width:520px;}
.mb-quote em{color:var(--rs);}
.mb-stat{text-align:right;flex-shrink:0;}
.mb-stat-n{font-family:var(--serif);font-size:clamp(32px,5vw,60px);font-weight:300;color:#fff;line-height:1;display:block;}
.mb-stat-n em{color:var(--rs);font-style:normal;}
.mb-stat-l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-on-dark-3);display:block;margin-top:5px;}/* CTA section */
.cta-sec{padding:var(--section-y) var(--pad);}
.cta-sec .two-col{align-items:center;}
.cta-hl{color:var(--ink);margin-bottom:14px;}
.cta-hl em{font-style:italic;}
.cta-body{color:var(--ink);margin-bottom:24px;}
.contact-col{border-left:1px solid var(--rul);padding-left:64px;}
.c-row{display:flex;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid var(--rul);font-size:14px;color:var(--ink);}
.c-row:first-child{border-top:1px solid var(--rul);}
.c-row span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--light);width:72px;flex-shrink:0;}

@media(max-width:900px){
    .two-col,.three-col{grid-template-columns:1fr;}.hero-statement{flex-direction:column;gap:32px;}.hero-stats{grid-template-columns:1fr 1fr;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .mid-banner-overlay{flex-direction:column;align-items:flex-start;gap:20px;padding:32px var(--pad);}
  .mb-stat{text-align:left;}
  .contact-col{border-left:none;padding-left:0;border-top:1px solid var(--rul);padding-top:28px;}
}

/* Hero stats: three across down to phones, then one per row */
@media (max-width:560px){.hero-stats{grid-template-columns:1fr !important;}.hs{border-right:none;border-bottom:1px solid var(--line);}.hs:last-child{border-bottom:none;}}
