/* StoneDirectSource styles — modern, elegant, fast */
:root{
  --bg: #0b0d11;
  --bg-alt: #11141a;
  --text: #e7eaee;
  --muted: #aab0b9;
  --brand: #d4af37; /* warm gold */
  --card: #151922;
  --stroke: #222836;
  --maxw: 1200px;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

* {box-sizing: border-box}
html, body {margin:0; padding:0; background:var(--bg); color:var(--text); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji; line-height:1.45}
img {max-width:100%; border-radius: 10px}
a {color: inherit; text-decoration: none}
.container {width: min(100% - 32px, var(--maxw)); margin-inline: auto}

.nav {position: sticky; top:0; z-index: 50; background: rgba(11,13,17,.7); backdrop-filter: blur(8px); border-bottom:1px solid var(--stroke)}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.3px}
.brand img{height:36px; width:auto}
.accent{color: var(--brand)}
.nav a{margin-inline:10px; opacity:.9}
.nav a.btn{margin-left:16px}
.lang-switch{display:flex; gap:6px}
.lang-switch button{background:transparent; border:1px solid var(--stroke); color:var(--text); padding:6px 10px; border-radius:8px; cursor:pointer}
.lang-switch button.active{border-color: var(--brand); color: var(--brand)}

.btn{display:inline-block; border:1px solid var(--stroke); padding:12px 18px; border-radius:999px; transition:.2s transform, .2s background}
.btn:hover{transform: translateY(-1px)}
.btn.small{padding:8px 12px; font-size:14px}
.btn.primary{background: var(--brand); color:#101010; border-color: transparent; font-weight:700}
.btn.ghost{background: transparent}

.hero{position:relative}
.hero-media img{height: 66vh; width:100%; object-fit: cover; object-position:center; border-radius:0}
.hero-content{position:relative; margin-top:-120px; background: linear-gradient(0deg, var(--bg) 10%, rgba(11,13,17,0) 70%); padding-bottom:24px}
.hero h1{font-size: clamp(28px, 4vw, 56px); margin-bottom:8px}
.lead{color: var(--muted); font-size: clamp(16px, 2vw, 20px); max-width: 800px}
.cta-row{display:flex; gap:12px; align-items:center; margin-top:16px}
.cta-row.center{justify-content: center}

.section{padding: 72px 0}
.section.alt{background: var(--bg-alt)}
.section-head{margin-bottom: 28px}
.section-head h2{font-size: clamp(24px, 3vw, 36px); margin:0 0 6px}
.section-head p{color: var(--muted)}

.cards{display:grid; gap:16px}
.cards.three{grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))}
.card{background: var(--card); border:1px solid var(--stroke); padding:16px; border-radius: var(--radius); box-shadow: var(--shadow)}
.card.kpi{display:flex; align-items:center; justify-content:center}

.kpis{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; text-align:center}
.kpis strong{font-size: 28px; display:block}
.kpis span{color: var(--muted); font-size:14px}

.split{display:grid; grid-template-columns: 1.2fr .8fr; gap:24px}
@media (max-width: 900px){.split{grid-template-columns:1fr} .hero-content{margin-top:-80px}}

.masonry{columns: 3 280px; column-gap: 14px}
.masonry img{break-inside: avoid; margin-bottom:14px; border-radius: 12px; border:1px solid var(--stroke)}

.timeline{display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:16px}
.step{background: var(--card); border:1px solid var(--stroke); border-radius: var(--radius); padding:16px}

.grid.two{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.grid.two .full{grid-column:1/-1}
@media (max-width: 700px){.grid.two{grid-template-columns:1fr}}

label span{display:block; font-size:14px; color: var(--muted); margin-bottom:6px}
input, textarea{width:100%; background:#0f131b; border:1px solid var(--stroke); color:var(--text); padding:12px 14px; border-radius:10px}
input:focus, textarea:focus{outline:2px solid var(--brand); border-color: transparent}

.footer{border-top:1px solid var(--stroke); padding: 28px 0; background: #0a0c10}
.footer-inner{display:flex; align-items:center; justify-content:space-between; gap:18px}
.footer .brand.mini img{height:28px}
.small{font-size:13px; color: var(--muted)}
