/* Runa Intelligence — shared styles for every page.
   Most layout is written directly on each element in the HTML (as it was designed),
   so to change a heading or a colour on one page, edit that page. This file holds
   only what every page shares: fonts, base text styles, animations, the navigation
   colours and hover effects. */

/* ── Fonts (self-hosted in assets/fonts, Latin character sets only) ─────────── */
/* Geist Mono 400 normal · symbols2 */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/geist-mono-symbols2.woff2') format('woff2');unicode-range:U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;}
/* Geist Mono 400 normal · latin-ext */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/geist-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Geist Mono 400 normal · latin */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/geist-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Geist Mono 500 normal · symbols2 */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/geist-mono-symbols2.woff2') format('woff2');unicode-range:U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;}
/* Geist Mono 500 normal · latin-ext */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/geist-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Geist Mono 500 normal · latin */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/geist-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Instrument Sans 400 italic · latin-ext */
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrument-sans-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Instrument Sans 400 italic · latin */
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrument-sans-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Instrument Sans 400 normal · latin-ext */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Instrument Sans 400 normal · latin */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Instrument Sans 500 normal · latin-ext */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/instrument-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Instrument Sans 500 normal · latin */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/instrument-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Instrument Sans 600 normal · latin-ext */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/instrument-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Instrument Sans 600 normal · latin */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/instrument-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ── Base text, links and animations (shared by every page) ────────────────── */
html{scroll-behavior:smooth}
body{margin:0;background:#fff;font-family:'Instrument Sans',system-ui,sans-serif;color:#111;-webkit-font-smoothing:antialiased}
a{color:#3B6FB6;text-decoration:none}a:hover{color:#111}
@keyframes rv{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes rvStrong{from{opacity:0;transform:translateY(90px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rvPanel{from{opacity:0;transform:translateY(140px)}to{opacity:1;transform:none}}
@keyframes heroZoom{from{transform:scale(1.07)}to{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){*{animation:none !important}}
@keyframes lineGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sp0{from{transform:translateY(30px) rotateX(60deg) rotateZ(45deg)}to{transform:translateY(200px) rotateX(60deg) rotateZ(45deg)}}
@keyframes sp1{from{transform:translateY(18px) rotateX(60deg) rotateZ(45deg)}to{transform:translateY(120px) rotateX(60deg) rotateZ(45deg)}}
@keyframes sp2{from{transform:translateY(6px) rotateX(60deg) rotateZ(45deg)}to{transform:translateY(40px) rotateX(60deg) rotateZ(45deg)}}
@keyframes sp3{from{transform:translateY(-6px) rotateX(60deg) rotateZ(45deg)}to{transform:translateY(-40px) rotateX(60deg) rotateZ(45deg)}}
@keyframes sp4{from{transform:translateY(-18px) rotateX(60deg) rotateZ(45deg)}to{transform:translateY(-120px) rotateX(60deg) rotateZ(45deg)}}
@keyframes sp5{from{transform:translateY(-30px) rotateX(60deg) rotateZ(45deg)}to{transform:translateY(-200px) rotateX(60deg) rotateZ(45deg)}}
@keyframes rvSoft{0%{opacity:0;transform:translateY(80px)}60%{opacity:.6}100%{opacity:1;transform:none}}
input,textarea{font-family:'Instrument Sans',system-ui,sans-serif}
input:focus,textarea:focus{outline:none;border-color:#3B6FB6}
::placeholder{color:#a9a9a5}

/* Images keep their proportions (the width/height in the HTML only reserve space) */
img{height:auto}

/* Anything marked "hidden" stays hidden, even if it has its own display style */
[hidden]{display:none !important}

/* Visible focus for keyboard users on the demo-request form */
input:focus,textarea:focus{border-color:#3B6FB6 !important}

/* ── Navigation colours ───────────────────────────────────────────────────────
   White text over the hero photo; switches to dark text on a frosted white bar
   once you scroll past it (site.js adds the "is-light" class).
   data-nav="clear"  → no shading behind the white text (home page)
   data-nav="light"  → always the light version (request-a-demo page)        */
.site-nav{--nav-ink:#fff;--nav-bg:linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 100%);--nav-blur:none}
.site-nav[data-nav="clear"]{--nav-bg:transparent}
.site-nav.is-light,.site-nav[data-nav="light"]{--nav-ink:#111;--nav-bg:rgba(255,255,255,.88);--nav-blur:blur(12px)}

/* ── Hover effects ─────────────────────────────────────────────────────────── */
.hv-home-1:hover{background:#f0f0ec !important;color:#111 !important}
.hv-home-2:hover{color:#fff !important;border-color:#fff !important}
.hv-home-3:hover{background-color:#ececea !important;transform:translateY(-3px) !important}
.hv-company-1:hover{background:#111 !important;color:#fff !important;border-color:#111 !important}
.hv-demo-1:hover{background-color:#3B6FB6 !important}
