/* ============================================================
   Zenrac — shared styles (base + chrome + components)
   Loaded by every page. Page-specific styles live inline in
   each page's <style> block and override rules here.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#0a0907; --ink-2:#14110d; --ink-3:#1d1812;
  --paper:#f3efe6; --paper-2:#d8d2c4; --muted:#8a8275;
  --line:rgba(243,239,230,.10); --line-2:rgba(243,239,230,.18);
  --primary:#ff6a1a; --primary-2:#ff8442; --primary-soft:#ffb27a; --primary-deep:#c2410c;
  --sans:"Geist",system-ui,-apple-system,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --mono:"Geist Mono",ui-monospace,monospace;
}
html,body{background:var(--ink);color:var(--paper);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
/* keep in-page anchor targets clear of the sticky topbar */
[id]{scroll-margin-top:100px;}
html{scroll-behavior:smooth;}
.container{max-width:1360px;margin:0 auto;padding:0 40px;position:relative;}

/* ====== TOPBAR / NAV ====== */
.topbar{position:absolute;left:0;right:0;top:0;z-index:30;}
.topbar.fixed{position:fixed;background:rgba(10,9,7,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.tb{display:flex;align-items:center;justify-content:space-between;height:80px;}
.logo{font-family:var(--serif);font-size:24px;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:12px;color:var(--paper);}
.logo .mark{display:inline-flex;width:30px;height:30px;border-radius:8px;background:var(--primary);align-items:center;justify-content:center;color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:600;position:relative;}
.logo .mark::after{content:"";position:absolute;inset:-4px;border:1px solid rgba(255,106,26,.25);border-radius:12px;}
.logo-img{height:40px;width:auto;display:block;}
.nav{display:flex;gap:6px;}
.nav-item{position:relative;}
.nav-item > a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:14px;color:var(--paper-2);font-weight:500;border-radius:8px;cursor:pointer;}
.nav-item > a:hover{color:var(--primary);background:rgba(255,255,255,.03);}
.nav-item > a .chev{font-size:9px;opacity:.6;transform:translateY(1px);}
/* invisible bridge across the gap so the dropdown stays open while the pointer travels to it */
.nav-item:hover::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;}
.nav-item .menu{position:absolute;top:calc(100% + 6px);left:0;min-width:300px;padding:14px;background:rgba(13,11,9,.96);backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .18s ease;z-index:40;}
.nav-item:hover .menu{opacity:1;pointer-events:auto;transform:translateY(0);}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.menu-item{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;border:1px solid transparent;cursor:pointer;}
.menu-item:hover{border-color:var(--line-2);background:rgba(255,106,26,.06);}
.menu-item .nm{font-family:var(--sans);font-size:14px;color:var(--paper);font-weight:600;}
.menu-item .ds{font-size:12px;color:var(--muted);line-height:1.4;}
.menu-item .ic{width:30px;height:30px;border-radius:8px;background:rgba(255,106,26,.12);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);font-family:var(--mono);font-size:11px;font-weight:600;margin-bottom:6px;}
.menu-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 4px;margin-top:6px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;}
.menu-foot a{color:var(--primary);}
.tb-cta{display:flex;gap:10px;align-items:center;}

/* ====== BUTTONS / TAGS ====== */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;line-height:1;transition:all .2s ease;text-decoration:none;}
.btn-primary{background:var(--primary);color:var(--ink);}
.btn-primary:hover{background:var(--primary-2);}
.btn-ghost{color:var(--paper-2);}
.btn-outline{border-color:var(--line-2);color:var(--paper);background:transparent;}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.btn-lg{padding:15px 24px;font-size:14px;}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);padding:8px 16px 8px 12px;border:1px solid rgba(255,106,26,.25);border-radius:999px;background:rgba(255,106,26,.06);}
.eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--primary);position:relative;}
.eyebrow .pulse::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--primary);animation:pulse 2s ease-out infinite;}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(2);opacity:0}}
.num{font-family:var(--mono);font-size:11px;color:var(--primary);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.num::before{content:"";width:24px;height:1px;background:var(--primary);}
.tag-mono{padding:5px 12px;border-radius:999px;border:1px solid var(--line-2);font-family:var(--mono);font-size:10px;color:var(--paper-2);letter-spacing:.06em;text-transform:uppercase;}

/* ====== HOMEPAGE HERO BASE (index.html) ====== */
/* grow to content — a fixed height here would clip the headline + stats */
.hero{position:relative;min-height:880px;overflow:hidden;isolation:isolate;}
.hero-corners{position:absolute;inset:120px 40px 32px;pointer-events:none;z-index:4;}
.hc{position:absolute;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.hc .sq{display:inline-block;width:6px;height:6px;background:var(--primary);margin-right:8px;vertical-align:middle;}
.hc.tl{top:0;left:0}.hc.tr{top:0;right:0;text-align:right}.hc.bl{bottom:0;left:0}.hc.br{bottom:0;right:0;text-align:right;color:var(--primary)}

/* ====== INTERNAL PAGE HERO ====== */
.ipage-hero{position:relative;padding:160px 0 100px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);}
.ipage-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(70% 50% at 0% 0%,rgba(255,106,26,.15),transparent 60%),
    radial-gradient(60% 50% at 100% 30%,rgba(255,106,26,.08),transparent 60%),
    linear-gradient(to bottom,var(--ink-2),var(--ink) 80%);}
.ipage-hero .grid-bg{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(243,239,230,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(243,239,230,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(80% 80% at 50% 30%,#000,transparent 70%);}
.ipage-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,128px);line-height:.93;letter-spacing:-0.035em;margin:32px 0 32px;color:var(--paper);max-width:1100px;}
.ipage-hero h1 em{font-style:italic;color:var(--primary);}
.ipage-hero h1 .stroke{color:transparent;-webkit-text-stroke:1.4px var(--paper);}
.ipage-hero .lede{font-size:19px;color:var(--paper-2);max-width:620px;line-height:1.55;margin:0 0 36px;opacity:.92;}
.ipage-hero .ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.ipage-hero .crumbs{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;}
.ipage-hero .crumbs a{color:var(--paper-2);}
.ipage-hero .crumbs .sep{color:var(--primary);opacity:.5;}

/* ====== SECTIONS ====== */
.sec{padding:120px 0;position:relative;border-top:1px solid var(--line);background:var(--ink);}
.sec.alt{background:var(--ink-2);}
.sec-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:end;margin-bottom:60px;}
.sec-inner h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.4vw,80px);line-height:.96;letter-spacing:-0.03em;margin:0;color:var(--paper);}
.sec-inner h2 em{font-style:italic;color:var(--primary);}
.sec-inner h2 .stroke{color:transparent;-webkit-text-stroke:1.4px var(--paper);}
.sec-inner p{font-size:16px;color:var(--paper-2);max-width:520px;margin:0;line-height:1.55;opacity:.85;}

/* ====== CTA ====== */
.cta{position:relative;overflow:hidden;padding:120px 0;background:var(--ink);border-top:1px solid var(--line);}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 100%,rgba(255,106,26,.22),transparent 60%),radial-gradient(40% 40% at 0% 0%,rgba(255,106,26,.10),transparent 60%);}
.cta-grid{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6vw,96px);line-height:.94;letter-spacing:-0.035em;margin:0 0 24px;color:var(--paper);}
.cta h2 em{font-style:italic;color:var(--primary);}
.cta h2 .stroke{color:transparent;-webkit-text-stroke:1.5px var(--paper);}
.cta .lede{font-size:17px;color:var(--paper-2);max-width:480px;margin:0 0 32px;line-height:1.55;opacity:.9;}

/* ====== FOOTER ====== */
footer.ftr{padding:64px 0 28px;background:var(--ink);border-top:1px solid var(--line);}
.ft{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px;padding-bottom:28px;}
.ft h6{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px;}
.ft a{display:block;font-size:14px;padding:6px 0;color:var(--paper-2);opacity:.8;}
.ft a:hover{color:var(--primary);opacity:1;}
.ft p.tag{font-size:14px;color:var(--paper-2);opacity:.7;line-height:1.6;margin:14px 0 0;max-width:340px;}
.ft-bottom{padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;}
/* footer contact block (address / phone / email with icons) */
.ft-contact{display:flex;flex-direction:column;gap:12px;margin-top:22px;}
.ft-contact .ln{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--paper-2);opacity:.85;line-height:1.5;}
.ft-contact a.ln{transition:color .2s ease;}
.ft-contact a.ln:hover{color:var(--primary);opacity:1;}
.ft-contact .ln svg{width:15px;height:15px;flex-shrink:0;margin-top:3px;color:var(--primary);}
/* footer meta row — phone (left) + "Powered by" & LinkedIn (right), above the bottom divider */
.ft-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:4px 0 22px;}
.ft-meta .ph{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--paper-2);opacity:.85;transition:color .2s ease;}
.ft-meta .ph:hover{color:var(--primary);opacity:1;}
.ft-meta .ph svg{width:15px;height:15px;color:var(--primary);flex-shrink:0;}
.ft-powered{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;}
.ft-powered .pw-link{color:var(--paper-2);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease;}
.ft-powered .pw-link:hover{color:var(--primary);}
.ft-powered .li{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--line-2);color:var(--paper-2);transition:all .2s ease;flex-shrink:0;}
.ft-powered .li:hover{border-color:var(--primary);color:var(--primary);background:rgba(255,106,26,.06);}
.ft-powered .li svg{width:18px;height:18px;}

/* ====== UTIL CARDS ====== */
.feat-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.feat-card{background:var(--ink-2);border:1px solid var(--line);border-radius:16px;padding:30px;display:flex;flex-direction:column;gap:12px;}
.feat-card.span6{grid-column:span 6;}
.feat-card.span4{grid-column:span 4;}
.feat-card.span12{grid-column:span 12;}
.feat-card .glyph{width:40px;height:40px;border-radius:10px;background:rgba(255,106,26,.10);color:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:600;}
.feat-card h4{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.08;letter-spacing:-0.015em;margin:0;color:var(--paper);}
.feat-card h4 em{font-style:italic;color:var(--primary);}
.feat-card p{margin:0;color:var(--paper-2);opacity:.78;font-size:14px;line-height:1.55;}
.feat-card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px;}

/* ====== TIMELINE / STEPS ====== */
.steps{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.step{padding:30px 32px;background:var(--ink-2);display:grid;grid-template-columns:80px 1fr 200px;gap:32px;align-items:start;}
.step .stp{font-family:var(--serif);font-size:42px;color:var(--primary);font-style:italic;line-height:1;}
.step h4{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:0 0 10px;color:var(--paper);letter-spacing:-0.015em;}
.step h4 em{font-style:italic;color:var(--primary);}
.step p{font-size:14.5px;color:var(--paper-2);opacity:.8;line-height:1.55;margin:0;max-width:560px;}
.step .meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;text-align:right;}
.step .meta strong{color:var(--primary);font-weight:500;display:block;font-size:14px;}

/* ====== STATS ====== */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:48px 0;}
.stat-cell{background:var(--ink-2);padding:32px 26px;}
.stat-cell .v{font-family:var(--serif);font-size:60px;color:var(--paper);line-height:1;letter-spacing:-0.03em;}
.stat-cell .v em{font-style:italic;color:var(--primary);}
.stat-cell .l{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:12px;line-height:1.5;}

/* ====== FORM ====== */
form.demo{background:var(--ink-2);border:1px solid var(--line);border-radius:16px;padding:28px;}
form.demo .row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
form.demo label{font-size:11px;font-weight:500;color:var(--paper-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;}
form.demo input,form.demo select,form.demo textarea{border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;font:inherit;font-size:14px;background:var(--ink);color:var(--paper);outline:none;font-family:var(--sans);}
form.demo input:focus,form.demo select:focus,form.demo textarea:focus{border-color:var(--primary);}
form.demo .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
form.demo button{width:100%;justify-content:center;}
