/* ============ Kavo shared styles ============
   Used by index.html, business/, and about/.
   Palette: --ink #1e1e1d, --orange #FF7E00, --stone #8A857B.
   Font: Inter (loaded per-page) and Space Mono for accents.
============================================= */

:root{
  --ink:#1e1e1d; --ink-soft:#262625; --ink-deep:#181817;
  --orange:#FF7E00; --orange-dim:#c96500;
  --stone:#8A857B; --white:#FFFFFF;
  --body:rgba(255,255,255,.62); --faint:rgba(255,255,255,.4);
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.17);
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --pad:clamp(20px,4.5vw,60px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);background:var(--ink);color:var(--white);-webkit-font-smoothing:antialiased;line-height:1.45;overflow-x:hidden}
a{color:inherit}
::selection{background:var(--orange);color:var(--ink)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.03em;line-height:1.02}

/* ---- nav ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;transition:background .3s ease,border-color .3s ease;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(30,30,29,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad)}
.nav-links{display:flex;align-items:center;gap:14px}
.nav-links a{color:var(--body);text-decoration:none;font-size:13.5px;font-weight:500;font-family:var(--sans);padding:6px 4px;transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.brand{font-weight:900;font-size:19px;letter-spacing:-0.04em;text-decoration:none;color:var(--white)}
.brand i{font-style:normal;color:var(--orange)}
.nav a.cta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--white);border:1px solid var(--line-2);border-radius:999px;padding:10px 16px;transition:background .2s,color .2s,border-color .2s}
.nav a.cta:hover{background:var(--white);color:var(--ink);border-color:var(--white)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:14px 26px;border-radius:3px;border:none;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap;font-family:var(--sans)}
.btn-primary{background:var(--orange);color:#1a1300}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(255,126,0,.7)}
.btn-primary .arrow{transition:transform .2s ease}
.btn-primary:hover .arrow{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--white);border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--orange)}
@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}

/* ---- reveal on scroll ---- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
.reveal.in.s1{transition-delay:.09s}.reveal.in.s2{transition-delay:.18s}.reveal.in.s3{transition-delay:.27s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ---- eyebrow labels ---- */
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);display:flex;align-items:center;gap:12px}
.eyebrow .idx{color:var(--orange);font-weight:700}
em{font-style:normal;color:var(--orange)}

/* ---- section scaffolding ---- */
section{padding:clamp(100px,15vw,196px) 0;position:relative}
.sec-head{max-width:680px;margin-bottom:80px;padding:0 var(--pad)}
.sec-head h2{font-size:clamp(36px,5.6vw,66px);margin-top:20px;font-weight:700;letter-spacing:-0.04em}

/* ---- three-column card grid, reused by biz + about ---- */
.card-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:end;margin-bottom:clamp(60px,7vw,100px);padding:0 var(--pad)}
.card-head h2{font-size:clamp(40px,6.4vw,84px);font-weight:900;letter-spacing:-0.05em;line-height:.95;text-transform:uppercase}
.card-head h2 em{font-style:normal;color:var(--orange)}
.card-head .lead{color:var(--body);font-size:clamp(16px,1.7vw,19px);max-width:26em}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 var(--pad);max-width:1280px;margin:0 auto}
.gcard{background:var(--ink-soft);border:1px solid var(--line);border-radius:22px;padding:36px 32px;transition:border-color .25s ease,transform .25s ease}
.gcard:hover{border-color:var(--line-2);transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.gcard:hover{transform:none}}
.gcard .tag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.gcard h3{font-size:28px;font-weight:700;letter-spacing:-0.03em;margin:14px 0 14px;line-height:1.05}
.gcard p{color:var(--body);font-size:15.5px;margin:0 0 12px;line-height:1.55}
.gcard p:last-child{margin-bottom:0}
.gcard .todo{color:var(--stone);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}

/* ---- footer ---- */
.footer{background:var(--ink-deep);color:var(--body);padding:82px var(--pad) 46px;border-top:1px solid var(--line)}
.footer .foot-inner{max-width:1220px;margin:0 auto}
.foot-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:42px;border-bottom:1px solid var(--line)}
.foot-tag{margin:18px 0 0;font-size:24px;color:var(--white);font-weight:600;letter-spacing:-0.03em}
.foot-cols{display:flex;gap:66px;flex-wrap:wrap}
.foot-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin:0 0 16px}
.foot-col a{display:block;color:var(--body);text-decoration:none;font-size:14.5px;padding:6px 0;transition:color .15s}
.foot-col a:hover{color:var(--orange)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:32px;font-size:12.5px;color:var(--stone)}
.foot-bottom .fine{max-width:44em}

/* ---- focus ---- */
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* ---- shared responsive ---- */
@media (max-width:900px){
  .card-head{grid-template-columns:1fr;align-items:start}
  .card-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .card-grid{grid-template-columns:1fr}
  .foot-top{flex-direction:column}
}
