/*
Theme Name: Hewani Data
Theme URI: https://hewanidata.com
Author: Hewani Data
Description: Custom theme for hewanidata.com — data annotation, validation, and ML/GenAI engineering services. Built from the site's static HTML/CSS design.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hewani-data
*/

/* ============================================================
   Hewani Data — shared stylesheet
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@400;500;600&display=swap');

:root{
  --paper:#f6f3ea;
  --paper-raised:#fffdf8;
  --ink:#181a1f;
  --ink-soft:#4a4d55;
  --indigo:#22385c;
  --indigo-soft:#5b6f8f;
  --amber:#e0980a;
  --amber-ink:#5c3d00;
  --amber-tint: #fbe6bd;
  --teal:#166f68;
  --teal-ink:#0d3d39;
  --teal-tint:#d6ece9;
  --line: rgba(24,26,31,0.14);
  --line-soft: rgba(24,26,31,0.08);
  --shadow: 0 1px 2px rgba(24,26,31,0.05), 0 10px 28px -14px rgba(24,26,31,0.22);
  --header-h: 76px;
  /* fixed dark panel — intentionally does NOT flip with theme, so text
     colors hardcoded against it (band-ink) stay legible in both modes */
  --panel-dark: #1c2c46;
  --panel-dark-line: rgba(244,240,228,0.14);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#14161b; --paper-raised:#1b1e25; --ink:#ece8dd; --ink-soft:#a9ada6;
    --indigo:#a9bcda; --indigo-soft:#7f93b5; --amber:#f2b23a; --amber-ink:#3a2600;
    --amber-tint:#3a2c0f; --teal:#4fc3ba; --teal-ink:#dff7f4; --teal-tint:#123230;
    --line: rgba(236,232,221,0.16); --line-soft: rgba(236,232,221,0.08);
    --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 14px 34px -16px rgba(0,0,0,0.6);
  }
}
:root[data-theme="dark"]{
  --paper:#14161b; --paper-raised:#1b1e25; --ink:#ece8dd; --ink-soft:#a9ada6;
  --indigo:#a9bcda; --indigo-soft:#7f93b5; --amber:#f2b23a; --amber-ink:#3a2600;
  --amber-tint:#3a2c0f; --teal:#4fc3ba; --teal-ink:#dff7f4; --teal-tint:#123230;
  --line: rgba(236,232,221,0.16); --line-soft: rgba(236,232,221,0.08);
  --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 14px 34px -16px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Geist', ui-sans-serif, system-ui, sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Geist', ui-sans-serif, system-ui, sans-serif;
  text-wrap:balance; letter-spacing:-0.01em; margin:0; color:var(--ink);
}
.mono{font-family:'Geist Mono', ui-monospace, monospace;}
a{color:var(--indigo); text-decoration-color: var(--line);}
a:hover{color:var(--amber);}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
img{max-width:100%; display:block;}
:focus-visible{outline:2px solid var(--amber); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important; scroll-behavior:auto !important;} }

.wrap{max-width:1160px; margin:0 auto; padding:0 2rem;}
@media (max-width:640px){.wrap{padding:0 1.25rem;}}

/* ---------- eyebrow / tag chip ---------- */
.eyebrow{
  font-family:'Geist Mono',monospace; font-size:0.74rem; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--teal); margin:0 0 0.8rem;
  display:flex; align-items:center; gap:0.5rem;
}
.eyebrow .box{width:9px;height:9px;border:1.5px solid var(--teal); border-radius:2px; display:inline-block;}
.eyebrow.center{justify-content:center;}

/* ---------- trusted-by strip ---------- */
.trust-strip{padding:2.4rem 0 2.6rem; border-bottom:1px solid var(--line);}
.trust-groups{display:flex; flex-direction:column; gap:1.5rem;}
.trust-group-label{
  font-family:'Geist Mono',monospace; font-size:0.68rem; letter-spacing:0.09em;
  text-transform:uppercase; color:var(--ink-soft); opacity:0.75; margin:0 0 0.7rem; text-align:center;
}
.trust-row{display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:0.85rem;}
.trust-card{
  background:#ffffff; border:1px solid rgba(20,20,20,0.08); border-radius:10px;
  box-shadow:0 1px 3px rgba(20,20,20,0.05);
  padding:0.65rem 1.15rem; display:flex; align-items:center; justify-content:center;
  min-height:52px;
}
.trust-card img{max-height:30px; max-width:132px; width:auto; height:auto; display:block;}
.trust-card.wide img{max-height:26px; max-width:160px;}
@media (max-width:640px){
  .trust-groups{gap:1.2rem;}
  .trust-row{gap:0.6rem;}
  .trust-card{padding:0.5rem 0.85rem; min-height:44px;}
  .trust-card img{max-height:24px; max-width:104px;}
}
.chip{
  font-family:'Geist Mono',monospace; font-size:0.68rem; letter-spacing:0.03em;
  text-transform:uppercase; padding:0.28rem 0.6rem; border-radius:5px;
  border:1px solid var(--line); color:var(--ink-soft); white-space:nowrap; display:inline-block;
}
.chip.amber{background:var(--amber-tint); color:var(--amber-ink); border-color:transparent;}
.chip.teal{background:var(--teal-tint); color:var(--teal-ink); border-color:transparent;}

/* ---------- buttons ---------- */
.btn{
  font-family:'Geist Mono',monospace; font-size:0.82rem; font-weight:500;
  letter-spacing:0.02em; text-transform:uppercase; text-decoration:none;
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.85rem 1.4rem; border-radius:7px; border:1.5px solid transparent; cursor:pointer;
  transition:transform .12s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--ink); color:var(--paper);}
.btn-primary:hover{background:var(--amber); color:var(--amber-ink);}
.btn-ghost{border-color:var(--line); color:var(--ink);}
.btn-ghost:hover{border-color:var(--amber); color:var(--ink);}
.btn-arrow::after{content:"→"; transition:transform .15s ease;}
.btn:hover .btn-arrow::after, .btn.btn-arrow:hover::after{transform:translateX(3px);}

/* ---------- header ---------- */
header.site{
  position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; height:var(--header-h);}
.brand{display:flex; align-items:center; gap:0.85rem; text-decoration:none; color:var(--ink);}
.brand .logo{height:40px; width:auto; display:block;}
.brand .logo-dark{display:none;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .brand .logo-light{display:none;}
  :root:not([data-theme="light"]) .brand .logo-dark{display:block;}
}
:root[data-theme="dark"] .brand .logo-light{display:none;}
:root[data-theme="dark"] .brand .logo-dark{display:block;}
footer .brand{margin-bottom:0.9rem;}
footer .brand .logo{height:34px;}

.nav-links{display:flex; align-items:center; gap:2.1rem;}
.nav-links a{
  color:var(--ink-soft); text-decoration:none;
  font-family:'Geist Mono',monospace; font-size:0.96rem; font-weight:500; letter-spacing:0.01em;
  padding:0.3rem 0; border-bottom:2px solid transparent;
}
.nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--amber);}
.nav-cta{display:flex; align-items:center; gap:1.4rem;}

.nav-toggle{display:none;}
.hamburger{display:none;}
@media (max-width:860px){
  .nav-links{
    position:fixed; inset:var(--header-h) 0 0 0; background:var(--paper); flex-direction:column;
    align-items:flex-start; padding:2rem; gap:1.4rem; transform:translateX(100%);
    transition:transform .2s ease; overflow-y:auto;
  }
  .nav-links a{font-size:1.3rem;}
  .nav-toggle:checked ~ .nav-links{transform:translateX(0);}
  .hamburger{
    display:flex; flex-direction:column; gap:5px; width:26px; cursor:pointer; background:none; border:none; padding:0.4rem;
  }
  .hamburger span{height:2px; background:var(--ink); border-radius:2px;}
  .nav-cta .btn-ghost{display:none;}
}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line); margin-top:6rem; padding:3.4rem 0 2.2rem;}
.foot-grid{display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:2.4rem;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-grid h5{font-family:'Geist Mono',monospace; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); margin-bottom:0.9rem;}
.foot-grid a{display:block; color:var(--ink-soft); text-decoration:none; font-size:0.9rem; margin-bottom:0.55rem;}
.foot-grid a:hover{color:var(--amber);}
.foot-bottom{
  margin-top:2.6rem; padding-top:1.6rem; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.8rem;
  font-family:'Geist Mono',monospace; font-size:0.72rem; color:var(--ink-soft);
}

/* ---------- section rhythm ---------- */
section{padding:5rem 0;}
section.tight{padding:3rem 0;}
@media (max-width:640px){section{padding:3.4rem 0;}}
.section-head{max-width:640px; margin-bottom:2.6rem;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.2rem); margin-bottom:0.9rem;}
.section-head p{color:var(--ink-soft); font-size:1.05rem;}
hr.rule{border:none; height:1px; background:var(--line);}
.band{background:var(--paper-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.band-ink{background:var(--panel-dark); color:#f4f0e4; border-top:1px solid var(--panel-dark-line); border-bottom:1px solid var(--panel-dark-line);}
.band-ink .eyebrow{color:var(--amber);}
.band-ink h2, .band-ink h3, .band-ink h4{color:#faf7ee;}
.band-ink p{color:#cdd6e4;}

/* ---------- hero ---------- */
.hero{padding:5rem 0 4rem;}
.hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:3rem; align-items:center;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2.4rem,5vw,3.6rem); line-height:1.05; font-weight:800; max-width:14ch;}
.hero .lede{font-size:1.18rem; color:var(--ink-soft); max-width:52ch; margin-top:1.4rem;}
.hero-actions{display:flex; gap:0.9rem; margin-top:2rem; flex-wrap:wrap;}
.hero-strip{
  display:flex; gap:2rem; flex-wrap:wrap; margin-top:2.6rem; padding-top:1.6rem;
  border-top:1px solid var(--line); font-family:'Geist Mono',monospace; font-size:0.76rem; color:var(--ink-soft);
}
.hero-strip b{color:var(--ink); font-weight:600;}

/* annotation-frame visual */
.frame-art{
  position:relative; aspect-ratio:4/5; border-radius:14px; overflow:hidden;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 27px, var(--line-soft) 27px, var(--line-soft) 28px),
    repeating-linear-gradient(90deg, transparent, transparent 27px, var(--line-soft) 27px, var(--line-soft) 28px),
    linear-gradient(160deg, var(--indigo), #15233a 70%);
  box-shadow:var(--shadow);
}
.frame-box{
  position:absolute; border:2px solid var(--amber); border-radius:4px;
}
.frame-box::after{
  content:attr(data-label); position:absolute; top:-1.55rem; left:-2px;
  background:var(--amber); color:var(--amber-ink); font-family:'Geist Mono',monospace;
  font-size:0.62rem; padding:0.18rem 0.4rem; border-radius:3px; white-space:nowrap; letter-spacing:0.03em;
}
.frame-box.teal{border-color:var(--teal);}
.frame-box.teal::after{background:var(--teal); color:var(--teal-ink);}

/* real-photo variant of the annotation frame */
.photo-frame{
  position:relative; border-radius:14px; overflow:hidden; box-shadow:var(--shadow);
  aspect-ratio:4/5; background:var(--indigo);
}
.photo-frame.wide{aspect-ratio:16/10;}
.photo-frame.square{aspect-ratio:1/1;}
.photo-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-frame figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:0.9rem 1.1rem;
  background:linear-gradient(0deg, rgba(10,12,16,0.72), transparent);
  color:#f4f0e4; font-family:'Geist Mono',monospace; font-size:0.68rem;
  letter-spacing:0.03em; text-transform:uppercase; margin:0;
}
.photo-row{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem;}
@media (max-width:700px){.photo-row{grid-template-columns:1fr;}}

/* ---------- cards ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem;}
@media (max-width:820px){.grid-3, .grid-2{grid-template-columns:1fr;}}

.card{
  border:1px solid var(--line); border-radius:12px; background:var(--paper-raised);
  padding:1.8rem; box-shadow:var(--shadow); height:100%;
}
.card h3{font-size:1.15rem; margin-bottom:0.6rem;}
.card p{color:var(--ink-soft); font-size:0.96rem;}
.card .k{
  font-family:'Geist Mono',monospace; font-size:0.68rem; color:var(--teal);
  text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.7rem; display:block;
}
.card-link{
  margin-top:1.1rem; display:inline-flex; gap:0.4rem; font-family:'Geist Mono',monospace;
  font-size:0.78rem; color:var(--ink); text-decoration:none; align-items:center;
}
.card-link:hover{color:var(--amber);}

/* segment cards */
.seg-card{border-top:3px solid var(--amber);}
.seg-card:nth-child(2){border-top-color:var(--teal);}
.seg-card:nth-child(3){border-top-color:var(--indigo-soft);}

/* ---------- testimonial ---------- */
.testi{
  border:1px solid var(--line); border-radius:12px; background:var(--paper-raised);
  padding:2rem; box-shadow:var(--shadow); position:relative;
}
.testi blockquote{margin:0; font-size:1.08rem; line-height:1.6; color:var(--ink);}
.testi cite{font-style:normal; font-family:'Geist Mono',monospace; font-size:0.78rem; color:var(--ink-soft); display:block;}
.testi cite b{color:var(--ink); font-weight:600; display:block; margin-bottom:0.15rem; font-family:'Geist', sans-serif; font-size:0.95rem;}
.testi-context{color:var(--ink-soft); font-size:0.95rem; margin:0.9rem 0 1.3rem;}
.testi-head{display:flex; align-items:center; gap:0.85rem; margin-bottom:0.2rem;}
.avatar-circle{
  width:46px; height:46px; border-radius:50%; background:#ffffff; border:1px solid rgba(20,20,20,0.1);
  box-shadow:0 1px 3px rgba(20,20,20,0.08); display:flex; align-items:center; justify-content:center;
  overflow:hidden; flex-shrink:0;
}
.avatar-circle img{width:100%; height:100%; object-fit:cover;}
.avatar-circle.mono{
  background:var(--indigo); color:#fbe6bd; font-family:'Geist Mono',monospace; font-weight:600; font-size:0.85rem;
}

/* ---------- service illustration ---------- */
.service-visual{
  background:var(--paper); border:1px solid var(--line); border-radius:12px;
  padding:1.2rem 1.4rem; margin-bottom:1.3rem; display:flex; align-items:center; justify-content:center;
}
.service-visual svg{width:100%; height:auto; max-height:160px; display:block;}

/* ---------- process / numbered flow ---------- */
.flow{counter-reset:step; display:grid; gap:0; border-top:1px solid var(--line);}
.flow-row{
  counter-increment:step; display:grid; grid-template-columns:70px 1fr; gap:1.4rem;
  padding:1.6rem 0; border-bottom:1px solid var(--line);
}
.flow-row::before{
  content:counter(step, decimal-leading-zero); font-family:'Geist Mono',monospace;
  color:var(--amber); font-size:1rem; padding-top:0.15rem;
}
.flow-row h4{font-size:1.05rem; margin-bottom:0.35rem;}
.flow-row p{color:var(--ink-soft); font-size:0.95rem; max-width:56ch;}

/* ---------- placeholder (about/team) ---------- */
.placeholder{
  border:1.5px dashed var(--line); border-radius:12px; padding:1.6rem; background:var(--paper-raised);
  display:flex; gap:1rem; align-items:flex-start;
}
.placeholder .ph-icon{
  width:40px; height:40px; border:1.5px dashed var(--indigo-soft); border-radius:8px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--indigo-soft); font-family:'Geist Mono',monospace; font-size:0.7rem;
}
.placeholder p{font-size:0.9rem; color:var(--ink-soft);}
.avatar-slot{
  width:100%; aspect-ratio:1; border-radius:10px; border:1.5px dashed var(--line);
  display:flex; align-items:center; justify-content:center; background:var(--paper-raised);
  font-family:'Geist Mono',monospace; font-size:0.68rem; color:var(--ink-soft); text-align:center; padding:1rem;
}

/* ---------- table ---------- */
.tblwrap{overflow-x:auto; border:1px solid var(--line); border-radius:10px;}
table{border-collapse:collapse; width:100%; font-size:0.92rem; min-width:480px;}
th,td{text-align:left; padding:0.85rem 1.1rem; border-bottom:1px solid var(--line); vertical-align:top;}
th{font-family:'Geist Mono',monospace; font-size:0.66rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); background:var(--line-soft);}
tr:last-child td{border-bottom:none;}

/* ---------- form ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem;}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex; flex-direction:column; gap:0.4rem;}
.field.full{grid-column:1/-1;}
.field label{font-family:'Geist Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft);}
.field input, .field select, .field textarea{
  font-family:'Geist', sans-serif; font-size:1rem; padding:0.75rem 0.85rem; border-radius:7px;
  border:1.5px solid var(--line); background:var(--paper); color:var(--ink); width:100%;
}
.field textarea{resize:vertical; min-height:110px; font-family:'Geist', sans-serif;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--amber); outline:none;}
.field-help{font-size:0.78rem; color:var(--ink-soft); font-family:'Geist Mono',monospace;}
.form-note{
  margin-top:1.4rem; font-size:0.86rem; color:var(--ink-soft); padding-top:1.2rem; border-top:1px dashed var(--line);
}

/* ---------- callout ---------- */
.callout{
  border:1px solid var(--line); border-left:3px solid var(--indigo); border-radius:0 10px 10px 0;
  padding:1.2rem 1.4rem; background:var(--paper-raised); font-size:0.95rem; color:var(--ink-soft);
}
.callout strong{color:var(--ink);}

/* ---------- page hero (secondary pages) ---------- */
.page-hero{padding:3.6rem 0 3rem; border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(2rem,4vw,2.7rem); max-width:16ch;}
.page-hero p{color:var(--ink-soft); font-size:1.08rem; max-width:56ch; margin-top:1rem;}

.contact-strip{display:flex; gap:2.4rem; flex-wrap:wrap; margin-top:1.6rem;}
.contact-strip div{font-family:'Geist Mono',monospace; font-size:0.8rem;}
.contact-strip b{display:block; color:var(--ink); font-family:'Geist', sans-serif; font-size:0.98rem; margin-bottom:0.2rem;}

::selection{background:color-mix(in srgb, var(--amber) 35%, transparent);}
