*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{
  --panel:#ffffff; --soft:#f6f8fb;
  --text:#0d1117; --muted:#556070;
  --brand:#ff3b3b; --line:#e5e9f0; --shadow:0 12px 30px rgba(0,0,0,.08);
}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--text);background:#f3f6fa;line-height:1.6}
.container{width:min(1120px,92%);margin-inline:auto}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);z-index:50}
.header-inner{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0d1117;font-weight:900;letter-spacing:.6px}
.brand img{display:block;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.nav{display:flex;gap:16px;align-items:center}
.nav a{position:relative;text-decoration:none;color:#0d1117;font-weight:700;opacity:.92}
.nav a:hover{opacity:1}
.btn{display:inline-block;padding:10px 16px;border-radius:12px;border:1px solid #d5dbe6;text-decoration:none;color:#0d1117;font-weight:800;background:linear-gradient(180deg,#ffffff,#f2f5fb);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.btn.primary{background:linear-gradient(180deg,#ff4747,#ff2e2e);border-color:#ff2e2e;color:white}
.btn.outline{background:transparent}

/* Language & socials */
.lang-switch{display:inline-flex;gap:6px;margin-right:8px}
.lang-switch button{border:1px solid #d5dbe6;background:#fff;border-radius:8px;padding:6px 8px;font-weight:800;color:#0d1117;cursor:pointer}
.lang-switch button.active{background:#ff2e2e;border-color:#ff2e2e;color:#fff}
.right{display:flex;align-items:center;gap:14px}
.social-links{display:flex;gap:10px;flex-wrap:wrap}
.social-links a{font-weight:800;color:#0d1117;text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px;opacity:.9}
.social-links a:hover{border-color:#ff6a6a;opacity:1}

/* HERO — absolutely no fills, no borders, no pseudo-elements */
.hero,
.hero *:not(img),
.hero::before,.hero::after,
.hero-col,.hero-col::before,.hero-col::after,
.hero-copy,.hero-copy::before,.hero-copy::after{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.hero{display:grid;grid-template-columns:1.1fr 1.2fr;min-height:88vh;overflow:hidden;position:relative;z-index:1}
.hero-col.map,.hero-col.road{position:relative}
.hero-map{position:absolute;inset:0;background:url('assets/map.jpg') center/cover no-repeat;opacity:.30;transform:scale(calc(1 + var(--par,0)*.06));transition:transform .2s linear}

/* Road behind text (longer and lower so no underlying section peeks through) */
.road-3d{position:absolute;inset:-10vh 0 0 0;display:grid;place-items:center;perspective:1000px;z-index:2;pointer-events:none}
.asphalt{position:absolute;width:210vmax;height:110vmin;background:linear-gradient(180deg,#d6dde6,#cbd5e1);transform:rotateX(65deg) translateY(48vmin);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.12) inset, 0 6px 30px rgba(0,0,0,.12)}
.centerline{position:absolute;width:6px;height:170vmax;background:repeating-linear-gradient(to bottom, rgba(255,255,255,.95) 0 22px, transparent 22px 44px);transform:rotateX(65deg) translateY(48vmin);filter:drop-shadow(0 0 2px rgba(0,0,0,.2));animation:run 1s linear infinite}
@keyframes run{to{background-position-y:44px}}
.shoulder{position:absolute;width:2px;height:170vmax;background:linear-gradient(#ffc0c0,#ff6a6a);transform:rotateX(65deg) translateY(48vmin);opacity:.45}
.shoulder.left{left:38%}.shoulder.right{right:38%}

/* Text on top */
.hero-copy{position:relative;z-index:5;display:grid;gap:10px;align-content:center;justify-items:start;padding:10vh 10% 10vh}
.hero-copy h1,.hero-copy p,.hero-copy .langs{color:#0d1117 !important;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.hero-copy h1{font-size:clamp(24px,4.6vw,44px);margin:0}
.hero-copy .muted{max-width:52ch;margin:0;color:#334155}
.hero-copy .langs{font-weight:800;color:#111827}
.hero-copy .cta{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}

/* Sections */
.section{padding:56px 0;background:#f3f6fa}
.section h2{font-size:clamp(22px,3.4vw,30px);margin:0 0 18px;color:#0d1117}
.cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:0;padding:0}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.card h3{margin:0 0 8px;color:#0d1117}
.t-slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;overflow:auto;padding-bottom:6px;scroll-snap-type:x mandatory;margin-bottom:18px}
.t-card{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.t-card blockquote{margin:0 0 8px;font-style:italic;color:#111827}

.form{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;box-shadow:var(--shadow)}
.form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.form label{display:flex;flex-direction:column;font-weight:800;gap:6px}
.form input,.form select,.form textarea{padding:10px;border:1px solid #c7cfdb;border-radius:10px;font:inherit;background:#fff;color:#0d1117}
.form input::placeholder,.form textarea::placeholder{color:#8895a7}
.form .hidden{position:absolute;left:-9999px}
.form .full{grid-column:1/-1}
.form-ok{color:#0f996d;font-weight:800;margin-top:8px}

.site-footer{border-top:1px solid var(--line);padding:18px 0;color:#4b5563;font-size:.95rem;background:#f3f6fa}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:100vh}
  .hero-col.map{display:none}
  .hero-copy{padding:12vh 7% 12vh}
}