/* Mijaro AI — Polsia-reference design */
:root { --bg:#f4f3ef; --ink:#141412; --orange:#e35205; --mut:#6b6963; --paper:#fbfaf7; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
  font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:15px; line-height:1.75; text-wrap:pretty; }
.serif { font-family:"Playfair Display", Georgia, serif; }
a { color:var(--ink); }
a:hover { color:var(--orange); }

/* terminal strip */
.term { background:#000; color:#e8e8e8; padding:18px 24px 14px; }
.term pre { margin:0; font:400 14px/1.6 "IBM Plex Mono", monospace; white-space:pre-wrap; }
.caret { display:inline-block; width:9px; height:15px; background:#e8e8e8; vertical-align:-2px;
  animation:blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }

/* orange ticker */
.ticker { background:var(--orange); color:#fff; padding:13px 0; overflow:hidden; white-space:nowrap; }
.ticker .belt { display:inline-flex; gap:64px; padding-left:32px; font-size:13px; letter-spacing:.2em;
  text-transform:uppercase; animation:belt 28s linear infinite; }
@keyframes belt { to { transform:translateX(-50%); } }
.ticker .dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:#fff;
  margin-right:14px; vertical-align:1px; }

/* masthead */
.mast { position:relative; text-align:center; padding:34px 24px 10px; }
.mast .wordmark { font-family:"Playfair Display", Georgia, serif; font-weight:600; font-size:46px;
  line-height:1; color:inherit; text-decoration:none; letter-spacing:.01em; }
.mast .mast-link { position:absolute; right:28px; top:40px; font-size:13px; letter-spacing:.18em;
  text-transform:uppercase; }
@media (max-width:640px) { .mast .mast-link { position:static; display:block; margin-top:18px; } }

/* bevel buttons */
.btn-bevel { display:inline-block; padding:15px 30px; font:500 14px/1 "IBM Plex Mono", monospace;
  letter-spacing:.22em; text-transform:uppercase; text-decoration:none; color:#141412;
  background:linear-gradient(#fefefe, #d9d7d1); border:1px solid #8f8d86;
  box-shadow:inset 0 1px 0 #fff, 0 2px 0 rgba(0,0,0,.28); }
.btn-bevel:hover { background:linear-gradient(#fff, #e6e4de); color:#141412; }
.btn-bevel:active { box-shadow:inset 0 2px 3px rgba(0,0,0,.25); }
.btn-dark { display:block; width:min(560px, 100%); margin:0 auto; padding:18px 30px; text-align:center;
  font:500 15px/1 "IBM Plex Mono", monospace; letter-spacing:.24em; text-transform:uppercase;
  text-decoration:none; color:#fff; background:linear-gradient(#2e2e2c, #050505);
  border:1px solid #000; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 2px 0 rgba(0,0,0,.35); }
.btn-dark:hover { color:#fff; background:linear-gradient(#3a3a38, #101010); }
:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
::selection { background:var(--orange); color:#fff; }

/* light hero */
.hero-dark { position:relative; overflow:hidden; background:var(--bg); color:var(--ink);
  min-height:88vh; display:flex; flex-direction:column; align-items:center; gap:48px;
  text-align:center; padding:46px 24px 70px; }
.hero-dark .hero-mark { font-family:"Playfair Display", Georgia, serif; font-weight:600;
  font-size:clamp(54px, 6.4vw, 96px); line-height:1; margin:0; }
.hero-dark .hero-mark a { color:var(--ink); text-decoration:none; }
.hero-dark .hero-signin { position:absolute; right:28px; top:24px; font-size:13px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink); }
.hero-dark .hero-mid { margin:auto 0; display:flex; flex-direction:column; align-items:center; }
.hero-dark h1 { font-family:"Playfair Display", Georgia, serif; font-weight:600;
  font-size:clamp(42px, 6vw, 92px); line-height:1.08; margin:0; max-width:17ch; }
.hero-dark .hero-kick { font-size:13px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--orange); margin:0 0 26px; }
.hero-dark .scroll-hint { font-family:"Playfair Display", Georgia, serif; font-style:italic;
  font-size:17px; color:var(--mut); margin:40px 0 0; animation:bob 2.6s ease-in-out infinite; }
@keyframes bob { 50% { transform:translateY(6px); } }

/* serif statements */
.statements { padding:130px 24px; text-align:center; }
.statements p { font-family:"Playfair Display", Georgia, serif; font-size:clamp(24px, 3vw, 36px);
  line-height:1.5; margin:0; }
.statements p + p { margin-top:10px; }
.statements .fade-1 { opacity:.28; } .statements .fade-2 { opacity:.5; } .statements .fade-3 { opacity:.72; }
.rev { opacity:0; transform:translateY(14px); transition:opacity .8s ease, transform .8s ease; }
.rev.on { opacity:1; transform:none; }
.rev.on.fade-1 { opacity:.28; } .rev.on.fade-2 { opacity:.5; } .rev.on.fade-3 { opacity:.72; }

/* generic section */
.sect { max-width:1080px; margin:0 auto; padding:90px 24px; }
.sect-label { font-size:13px; letter-spacing:.24em; text-transform:uppercase; color:var(--orange); margin:0 0 14px; }
.sect h2 { font-family:"Playfair Display", Georgia, serif; font-weight:600;
  font-size:clamp(34px, 4.4vw, 58px); line-height:1.12; margin:0 0 28px; }
.rule { border:0; height:1px; background:#c9c7c0; margin:0; }

/* product rows */
.prod { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:36px 64px;
  align-items:center; padding:64px 0; }
.prod + .prod { border-top:1px solid #c9c7c0; }
.prod.flip figure { order:-1; }
@media (max-width:820px) { .prod.flip figure { order:0; } }
.prod .num { font-size:13px; letter-spacing:.24em; color:var(--mut); margin:0 0 10px; }
.prod h3 { font-family:"Playfair Display", Georgia, serif; font-weight:600; font-size:32px; line-height:1.2; margin:0; }
.prod .tag { font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); margin:14px 0 0; }
.prod p.copy { margin:18px 0 0; color:#3a3833; }
.prod .go { display:inline-block; margin-top:26px; font-size:13px; letter-spacing:.2em; text-transform:uppercase; }
.prod figure { margin:0; }
.prod img { width:100%; display:block; filter:grayscale(1) contrast(1.05); border:1px solid #b9b7b0; }
@media (max-width:820px) { .prod { grid-template-columns:1fr; } }

/* mono doc (about) */
.doc { background:var(--paper); border:1px solid #ccc9c1; max-width:900px; margin:0 auto;
  padding:56px 64px 56px 96px; position:relative; }
.doc::before { content:""; position:absolute; left:56px; top:0; bottom:0; width:1px;
  border-left:1px dashed #b5b2aa; }
.doc .perf { position:absolute; left:14px; top:0; bottom:0; width:20px;
  background:radial-gradient(circle at 10px 44px, #f4f3ef 6px, #b5b2aa 6.5px 7.5px, transparent 8px);
  background-size:20px 88px; background-repeat:repeat-y; }
.doc h1 { font:500 15px/1.6 "IBM Plex Mono", monospace; letter-spacing:.2em; text-transform:uppercase; margin:0 0 6px; }
.doc .meta { text-align:right; font-size:13px; letter-spacing:.14em; margin:0 0 34px; color:var(--mut); }
.doc p { margin:0 0 26px; text-align:justify; }
.doc hr { border:0; border-top:1px solid #141412; margin:38px 0; }
@media (max-width:720px) { .doc { padding:40px 24px 40px 56px; } }

/* services list */
.svc { border-top:1px solid #c9c7c0; padding:44px 0; display:grid;
  grid-template-columns:150px minmax(0,340px) minmax(0,1fr); gap:18px 48px; }
.svc:last-of-type { border-bottom:1px solid #c9c7c0; }
.svc .num { font-size:13px; letter-spacing:.22em; color:var(--orange); margin:6px 0 0; }
.svc h3 { font-family:"Playfair Display", Georgia, serif; font-weight:600; font-size:26px; line-height:1.25; margin:0; }
.svc p { margin:0; color:#3a3833; }
@media (max-width:820px) { .svc { grid-template-columns:1fr; gap:10px; } }

/* light CTA (clouds) */
.cta { text-align:center; padding:150px 24px 170px;
  background:linear-gradient(#f4f3ef, #e9e7e1 45%, #f4f3ef); }
.cta h2 { font-family:"Playfair Display", Georgia, serif; font-weight:600;
  font-size:clamp(40px, 5.6vw, 76px); line-height:1.1; margin:0 0 44px; }
.cta .note { font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--mut); margin:26px 0 0; }
.cta .sub-serif { font-family:"Playfair Display", Georgia, serif; font-style:italic; font-size:18px;
  color:var(--mut); margin:14px 0 0; }

/* stats strip */
.stats { display:flex; flex-wrap:wrap; justify-content:center; gap:40px 90px; padding:70px 24px;
  border-top:1px solid #c9c7c0; border-bottom:1px solid #c9c7c0; text-align:center; }
.stats .n { font-family:"Playfair Display", Georgia, serif; font-weight:600; font-size:52px; line-height:1; margin:0; }
.stats .l { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--mut); margin:12px 0 0; }

/* footer */
.site-foot { display:flex; flex-wrap:wrap; gap:18px 42px; align-items:center;
  padding:34px 28px; border-top:1px solid #c9c7c0; font-size:13px; letter-spacing:.18em; text-transform:uppercase; }
.site-foot a { text-decoration:underline; text-underline-offset:4px; }
.site-foot .sup { margin-left:auto; color:var(--mut); }
@media (max-width:720px) { .site-foot .sup { margin-left:0; } }
