/* ==========================================================================
   BalticMind — design system ("Baltic Intelligence")
   Fog/Silver-Tech + Baltic-Navy-Deep + Digital-Cyan + Accent-Orange.
   Manrope (headlines) / Inter (body) / JetBrains Mono (labels).
   ========================================================================== */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/inter-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/inter-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/inter-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/manrope-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/manrope-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/manrope-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/manrope-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/manrope-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/manrope-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/manrope-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/manrope-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/manrope-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url('fonts/manrope-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url('fonts/manrope-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url('fonts/manrope-700-cyrillic.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+2116;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/jetbrainsmono-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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/jetbrainsmono-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('fonts/jetbrainsmono-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/jetbrainsmono-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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/jetbrainsmono-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/jetbrainsmono-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --fog:#F6FAFF;
  --fog-dim:#EBF5FF;
  --fog-dim-2:#DDEAF6;
  --ink:#111D25;
  --ink-soft:#5B5F60;
  --steel:#0C1115;
  --steel-2:#1B2228;
  --mist:#D1D5DB;
  --mist-line:rgba(17,29,37,.1);
  --signal:#FF6A2E;
  --signal-dim:#B34D1E;
  --signal-tint:#FF6A2E1A;
  --accent:#FF6A2E;
  --beacon:#22C55E;
  --success:#22C55E;
  --white:#FFFFFF;

  --font-display:'Manrope', 'Arial Narrow', sans-serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:'JetBrains Mono', 'Courier New', monospace;

  --container:1200px;
  --gutter:clamp(20px, 5vw, 64px);
  --radius-s:6px;
  --radius-m:14px;
  --radius-l:28px;
  --radius-xl:24px;

  --ease:cubic-bezier(.16,.8,.24,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

body{
  margin:0;
  background:var(--fog);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img,svg{ max-width:100%; display:block; }

a{ color:inherit; }

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.08;
  margin:0;
  letter-spacing:-0.01em;
}

p{ margin:0; }

:focus-visible{
  outline:3px solid var(--signal);
  outline-offset:3px;
  border-radius:4px;
}

.container{
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.mono{ font-family:var(--font-mono); }

.visually-hidden{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link{
  position:absolute;
  left:12px; top:-60px;
  background:var(--ink);
  color:var(--fog);
  padding:12px 18px;
  border-radius:var(--radius-s);
  z-index:1000;
  transition:top .2s var(--ease);
  font-weight:600;
}
.skip-link:focus{ top:12px; }

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:15px 26px;
  border-radius:12px;
  font-family:var(--font-mono);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border:1.5px solid transparent;
  cursor:pointer;
  position:relative;
  transition:transform .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }

.btn-primary{
  background:var(--accent);
  color:var(--steel);
}
.btn-primary:hover{
  background:#E85A1F;
}

.btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--mist-line);
}
.btn-ghost:hover{
  border-color:var(--steel);
  background:var(--white);
}

.btn-on-steel{
  background:rgba(255,255,255,.06);
  color:var(--fog);
  border-color:rgba(255,255,255,.25);
}
.btn-on-steel:hover{
  border-color:var(--fog);
  background:rgba(255,255,255,.12);
}

.btn-block{ width:100%; justify-content:center; }

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  padding:14px 0;
  background:rgba(246,250,255,.75);
  border-bottom:1px solid transparent;
  transition:background-color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
@supports (backdrop-filter: blur(1px)){
  .site-header{ backdrop-filter:blur(16px) saturate(140%); }
}
.site-header.is-scrolled{
  background:rgba(246,250,255,.9);
  border-bottom-color:var(--mist-line);
  box-shadow:0 8px 24px -16px rgba(12,17,21,.2);
}

.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:40px;
}

.logo{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:19px;
  letter-spacing:-0.02em;
  text-decoration:none;
  color:var(--steel);
  flex-shrink:0;
}
.logo-mark{ display:block; height:28px; width:auto; flex-shrink:0; }

.main-nav{
  display:flex;
  align-items:center;
  gap:28px;
}
.main-nav a{
  text-decoration:none;
  font-weight:600;
  font-size:14.5px;
  color:var(--ink-soft);
  white-space:nowrap;
  transition:color .2s var(--ease);
  position:relative;
  padding:4px 0;
}
.main-nav a:hover{ color:var(--ink); }

.header-actions{
  display:flex;
  align-items:center;
  gap:18px;
}

.lang-switch{
  display:flex;
  align-items:center;
  gap:2px;
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:500;
}
.lang-switch a{
  text-decoration:none;
  color:var(--ink-soft);
  padding:5px 8px;
  border-radius:6px;
  transition:background-color .2s var(--ease), color .2s var(--ease);
}
.lang-switch a:hover{ background:var(--mist-line); color:var(--ink); }
.lang-switch a[aria-current="true"]{
  color:var(--ink);
  background:var(--white);
  box-shadow:inset 0 0 0 1px var(--mist);
}
.lang-switch .sep{ color:var(--ink-soft); }

.nav-toggle{
  display:none;
  background:none;
  border:1.5px solid var(--mist);
  border-radius:8px;
  width:40px; height:40px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.nav-toggle svg{ width:18px; height:18px; }

.mobile-nav{
  border-top:1px solid var(--mist-line);
  background:rgba(238,241,242,.97);
}
.mobile-nav-inner{
  display:flex;
  flex-direction:column;
  padding-block:14px;
}
.mobile-nav a{
  text-decoration:none;
  color:var(--ink);
  font-weight:600;
  font-size:1rem;
  padding:12px 0;
  border-bottom:1px solid var(--mist-line);
}
.mobile-nav a:last-child{ border-bottom:none; }
.mobile-nav-lang{
  padding:14px 0 6px;
  font-size:14px;
  gap:8px;
}
.mobile-nav-lang a{
  padding:12px 18px;
  font-size:15px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.mobile-nav-lang .sep{ display:none; }
.mobile-nav .btn-primary{ margin-top:14px; }

/* ==========================================================================
   Route line (signature motif) — shared by hero + how-we-work
   ========================================================================== */
.route{
  --node-off:var(--mist);
  --node-on:var(--signal);
  --node-done:var(--beacon);
}

.route-hero{
  margin-top:clamp(28px,5vw,52px);
  padding:clamp(20px,4vw,36px) clamp(16px,4vw,32px);
  background:var(--white);
  border-radius:var(--radius-l);
  border:1px solid var(--mist-line);
  box-shadow:0 30px 60px -40px rgba(18,24,29,.35);
}

.route-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:start;
  gap:8px;
}

.route-track::before{
  content:"";
  position:absolute;
  top:15px;
  left:calc(12.5% - 1px);
  right:calc(12.5% - 1px);
  height:2px;
  background:var(--mist);
  z-index:0;
}

.route-line-fill{
  position:absolute;
  top:15px;
  left:calc(12.5% - 1px);
  height:2px;
  width:0;
  background:linear-gradient(90deg, var(--signal), var(--beacon));
  z-index:1;
  transition:width 1.8s var(--ease);
}
.route-hero.is-active .route-line-fill{ width:75%; }

.route-node{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
}

.route-dot{
  width:32px; height:32px;
  border-radius:50%;
  background:var(--white);
  border:2.5px solid var(--mist);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:border-color .5s var(--ease), background-color .5s var(--ease), transform .4s var(--ease);
}
.route-dot svg{ width:15px;height:15px; stroke:var(--ink-soft); transition:stroke .5s var(--ease); }

.route-hero.is-active .route-node--start .route-dot{
  border-color:var(--mist); animation:jitter 1.4s ease-in-out infinite;
}
.route-hero.is-active .route-node--bot .route-dot{
  border-color:var(--signal); transition-delay:.5s;
}
.route-hero.is-active .route-node--bot .route-dot svg{ stroke:var(--signal); transition-delay:.5s; }
.route-hero.is-active .route-node--auto .route-dot{
  border-color:var(--signal); transition-delay:1s;
}
.route-hero.is-active .route-node--auto .route-dot svg{ stroke:var(--signal); transition-delay:1s; }
.route-hero.is-active .route-node--done .route-dot{
  border-color:var(--beacon); background:var(--beacon); transition-delay:1.6s; transform:scale(1.12);
}
.route-hero.is-active .route-node--done .route-dot svg{ stroke:var(--white); transition-delay:1.6s; }

@keyframes jitter{
  0%,100%{ transform:translateX(0) rotate(0); }
  25%{ transform:translateX(-1px) rotate(-3deg); }
  75%{ transform:translateX(1px) rotate(3deg); }
}
@media (prefers-reduced-motion:reduce){
  .route-hero.is-active .route-node--start .route-dot{ animation:none; }
}

.route-label{
  font-family:var(--font-mono);
  font-size:12.5px;
  font-weight:500;
  color:var(--ink-soft);
  line-height:1.3;
}
.route-node:last-child .route-label{ color:var(--ink); font-weight:600; }


/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  padding-top:clamp(48px,8vw,88px);
  padding-bottom:0;
}
.hero-inner{
  max-width:760px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--steel);
  background:var(--white);
  border:1px solid var(--mist-line);
  padding:7px 14px;
  border-radius:999px;
  margin-bottom:22px;
}
.eyebrow::before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--signal);
  flex-shrink:0;
}

.hero h1{
  font-size:clamp(2.1rem, 5.4vw, 3.6rem);
  color:var(--ink);
}
.hero h1 em{
  font-style:normal;
  color:var(--accent);
}
.nowrap-phrase{ white-space:nowrap; }
@media (max-width:480px){
  .nowrap-phrase{ white-space:normal; }
}

.hero-sub{
  margin-top:20px;
  font-size:clamp(1.05rem,2vw,1.25rem);
  color:var(--ink-soft);
  max-width:56ch;
}

.hero-card{
  background:var(--steel);
  border-radius:var(--radius-l);
  padding:clamp(36px,6vw,64px) clamp(36px,6vw,64px) clamp(56px,9vw,88px);
  position:relative;
  overflow:hidden;
}
.hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 85% 15%, rgba(255,106,46,.16), transparent 55%);
  pointer-events:none;
}
.hero-card .hero-inner{ position:relative; }
.hero-card .eyebrow{
  background:rgba(255,106,46,.1);
  border-color:rgba(255,106,46,.28);
  color:var(--fog);
}
.hero-card h1{ color:var(--fog); }
.hero-card h1 em{ color:var(--signal); }
.hero-card .hero-sub{ color:#C3CDD3; }

.hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:56px;
}

/* ==========================================================================
   Sections generic
   ========================================================================== */
.section{
  padding-block:clamp(56px,9vw,110px);
}
.section-head{
  max-width:640px;
  margin-bottom:clamp(32px,5vw,52px);
}
.section-tag{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:14px;
}
.section-head h2{
  font-size:clamp(1.7rem,3.6vw,2.5rem);
  color:var(--steel);
}
.section-head p{
  margin-top:14px;
  font-size:1.05rem;
  color:var(--ink-soft);
}

.section-dark{
  background:var(--steel);
  color:var(--fog);
}
.section-dark .section-tag{ color:var(--accent); }
.section-dark .section-head p{ color:#B7C2C9; }

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ==========================================================================
   Pain / before-after
   ========================================================================== */
.pain-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:clamp(16px,4vw,32px);
  align-items:stretch;
}
.pain-col{
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
  padding:clamp(24px,3vw,34px);
}
.pain-col h3{
  font-family:var(--font-body);
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:18px;
  display:flex;
  align-items:center;
  gap:10px;
}
.pain-col.is-before h3::before{ content:"";width:10px;height:10px;border-radius:50%;background:var(--mist);flex-shrink:0; }
.pain-col.is-after{ border-color:var(--beacon); box-shadow:0 20px 44px -32px rgba(46,158,130,.5); }
.pain-col.is-after h3::before{ content:"";width:10px;height:10px;border-radius:50%;background:var(--beacon);flex-shrink:0; }

.pain-col ul{
  list-style:none;
  margin:0; padding:0;
  display:flex; flex-direction:column;
  gap:12px;
}
.pain-col li{
  display:flex;
  gap:10px;
  font-size:.97rem;
  color:var(--ink-soft);
  line-height:1.45;
}
.pain-col.is-before li::before{ content:"—"; color:var(--ink-soft); font-weight:700; flex-shrink:0; }
.pain-col.is-after li{ color:var(--ink); }
.pain-col.is-after li::before{ content:"✓"; color:var(--beacon); font-weight:700; flex-shrink:0; }

.pain-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--signal);
}
.pain-arrow svg{ width:28px;height:28px; }

/* ==========================================================================
   Services — container-stack bento
   ========================================================================== */
.bento{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:minmax(150px,auto);
  gap:16px;
}
.bento-card{
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
  padding:clamp(22px,2.6vw,30px);
  position:relative;
  overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:190px;
  color:inherit;
  text-decoration:none;
}
.bento-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 50px -30px rgba(18,24,29,.3);
  border-color:var(--mist);
}
.bento-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0; height:5px;
  background:var(--mist);
  transition:background-color .3s var(--ease);
}
.bento-card:hover::before{ background:var(--signal); }

.bento-1{ grid-column:span 2; }
.bento-2{ grid-column:span 2; }
.bento-3{ grid-column:span 2; }
.bento-4{ grid-column:span 2; }
.bento-5{ grid-column:span 2; }
.bento-logistics{
  grid-column:span 2;
  grid-row:span 2;
  background:var(--steel);
  color:var(--fog);
  justify-content:space-between;
  min-height:100%;
}
.bento-logistics::before{ background:var(--signal); }
.bento-logistics .bento-icon{ color:var(--signal); }
.bento-logistics h3{ color:var(--fog); }
.bento-logistics p{ color:#B7C2C9; }
.bento-logistics .bento-tag{ background:rgba(255,106,46,.15); color:#FF9466; }

.bento-icon{
  width:44px; height:44px;
  border-radius:12px;
  background:var(--fog-dim);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--steel);
  margin-bottom:auto;
}
.bento-icon svg{ width:22px; height:22px; }

.bento-card h3{
  font-family:var(--font-body);
  font-size:1.15rem;
  font-weight:700;
  margin-top:18px;
  margin-bottom:8px;
}
.bento-card p{
  font-size:.95rem;
  color:var(--ink-soft);
  line-height:1.5;
}
.bento-tag{
  display:inline-block;
  align-self:flex-start;
  font-family:var(--font-mono);
  font-size:11.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  background:var(--fog-dim);
  color:var(--steel);
  padding:5px 10px;
  border-radius:6px;
  margin-bottom:14px;
}

.bento-ai{
  grid-column:span 2;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.bento-badge{
  position:absolute;
  top:18px; right:18px;
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  background:rgba(255,106,46,.12);
  color:var(--signal-dim);
  padding:4px 9px;
  border-radius:100px;
}
.bento-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  font-family:var(--font-mono);
  font-size:12.5px;
  font-weight:600;
  color:var(--signal-dim);
}
.bento-ai:hover .bento-link{ text-decoration:underline; }

/* ==========================================================================
   LIAA 85% block
   ========================================================================== */
.liaa{
  background:var(--steel);
  color:var(--fog);
  border-radius:var(--radius-l);
  padding:clamp(36px,6vw,64px);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(28px,5vw,56px);
  align-items:center;
  position:relative;
  overflow:hidden;
}
.liaa::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 85% 15%, rgba(255,106,46,.16), transparent 55%);
  pointer-events:none;
}
.liaa-number{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(4.5rem,12vw,8rem);
  line-height:.85;
  color:var(--signal-dim);
  position:relative;
}
.liaa-number sup{
  font-size:.32em;
  font-family:var(--font-mono);
  font-weight:500;
  color:var(--fog);
  top:-.5em;
}
.liaa-body h2{
  font-size:clamp(1.5rem,3vw,2.1rem);
  color:var(--fog);
  margin-bottom:16px;
  position:relative;
}
.liaa-body p{
  color:#C3CDD3;
  font-size:1.02rem;
  max-width:56ch;
  position:relative;
  margin-bottom:26px;
}
.liaa-body .btn-primary{ position:relative; }

/* ==========================================================================
   How we work
   ========================================================================== */
.steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin-top:44px;
}
.steps::before{
  content:"";
  position:absolute;
  top:28px;
  left:calc(12.5% - 1px);
  right:calc(12.5% - 1px);
  height:2px;
  background:var(--mist-line);
  z-index:0;
}
.step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.step-num{
  width:56px;height:56px;
  border-radius:50%;
  background:var(--white);
  border:1.5px solid var(--mist-line);
  color:var(--steel);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-weight:700;
  font-size:16px;
  position:relative;
  z-index:2;
}
.step:nth-child(1) .step-num{ background:var(--steel); border-color:var(--steel); color:var(--white); }

.step h3{
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:700;
  color:var(--steel);
}
.step p{
  font-size:.93rem;
  color:var(--ink-soft);
}

/* ==========================================================================
   Cases / counters
   ========================================================================== */
.counters{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.counter-card{
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
  padding:clamp(26px,3vw,34px);
  text-align:left;
}
.counter-value{
  font-family:var(--font-mono);
  font-weight:600;
  font-size:clamp(2.4rem,4.2vw,3.2rem);
  color:var(--ink);
  display:flex;
  align-items:baseline;
  gap:4px;
}
.counter-value .unit{
  font-size:.42em;
  color:var(--ink-soft);
  font-weight:500;
}
.counter-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--signal);
  display:inline-block;
  margin-bottom:14px;
}
.counter-label{
  margin-top:10px;
  font-size:.92rem;
  color:var(--ink-soft);
}
.counter-note{
  margin-top:16px;
  font-size:.78rem;
  color:var(--mist);
  font-family:var(--font-mono);
}

/* ==========================================================================
   Trust
   ========================================================================== */
.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.trust-card{
  display:flex;
  gap:16px;
  padding:24px;
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
}
.trust-icon{
  width:42px;height:42px;
  border-radius:10px;
  background:var(--fog-dim);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:var(--steel);
}
.trust-icon svg{ width:20px;height:20px; }
.trust-card h3{
  font-family:var(--font-body);
  font-size:.98rem;
  font-weight:700;
  margin-bottom:6px;
}
.trust-card p{ font-size:.88rem; color:var(--ink-soft); }

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-list{
  display:flex;
  flex-direction:column;
  gap:0;
  max-width:760px;
  margin-inline:auto;
}
.faq-item{
  border-bottom:1px solid var(--mist-line);
}
.faq-item:last-child{ border-bottom:none; }
.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:24px 0;
  background:none;
  border:none;
  text-align:left;
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:600;
  color:var(--steel);
  cursor:pointer;
}
.faq-icon{
  width:26px;height:26px;
  border-radius:50%;
  border:1.5px solid var(--mist);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  transition:transform .3s var(--ease), border-color .3s var(--ease), background-color .3s var(--ease);
}
.faq-icon::before,.faq-icon::after{
  content:"";
  position:absolute;
  background:var(--ink-soft);
  transition:background-color .3s var(--ease);
}
.faq-icon::before{ width:10px;height:1.5px; }
.faq-icon::after{ width:1.5px;height:10px; }
.faq-question[aria-expanded="true"] .faq-icon{
  transform:rotate(45deg);
  background:var(--signal);
  border-color:var(--signal);
}
.faq-question[aria-expanded="true"] .faq-icon::before,
.faq-question[aria-expanded="true"] .faq-icon::after{ background:var(--white); }

.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .35s var(--ease);
}
.faq-answer-inner{ overflow:hidden; }
.faq-answer p{
  padding:0 0 24px;
  font-size:.92rem;
  color:var(--ink-soft);
  max-width:66ch;
}
.faq-item.is-open .faq-answer{ grid-template-rows:1fr; }

/* ==========================================================================
   Final CTA
   ========================================================================== */
.final-cta{
  background:var(--steel);
  color:var(--fog);
  border-radius:var(--radius-l);
  padding:clamp(36px,6vw,64px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,56px);
  align-items:center;
}
.final-cta h2{ color:var(--fog); font-size:clamp(1.6rem,3.4vw,2.3rem); margin-bottom:16px; }
.final-cta p{ color:#C3CDD3; font-size:1.02rem; max-width:48ch; }

.lead-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.form-row{ display:flex; flex-direction:column; gap:7px; }
.form-row label{
  font-family:var(--font-mono);
  font-size:12px;
  color:#9FACB3;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.form-row input{
  background:rgba(238,241,242,.06);
  border:1.5px solid rgba(238,241,242,.22);
  border-radius:10px;
  padding:13px 16px;
  color:var(--fog);
  font-family:var(--font-body);
  font-size:.98rem;
  transition:border-color .2s var(--ease), background-color .2s var(--ease);
}
.form-row input::placeholder{ color:#7C8990; }
.form-row input:focus{
  outline:none;
  border-color:var(--signal);
  background:rgba(238,241,242,.1);
}
.form-note{ font-size:.78rem; color:#8A969C; }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{
  padding-block:clamp(48px,7vw,80px) clamp(28px,4vw,40px);
  background:var(--steel);
  color:var(--mist);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:32px;
}
.footer-brand .logo{ margin-bottom:16px; color:var(--signal); font-size:1.3rem; }
.footer-brand p{ color:var(--mist); font-size:.9rem; max-width:32ch; }
.footer-col h3{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--white);
  margin-bottom:18px;
}
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.footer-col a{
  text-decoration:none;
  color:var(--mist);
  font-size:.9rem;
  transition:color .2s var(--ease);
}
.footer-col a:hover{ color:var(--white); }
.footer-bottom{
  margin-top:48px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-size:12px;
  color:var(--mist);
  font-family:var(--font-mono);
}
.footer-bottom a{ color:var(--mist); }
.footer-bottom a:hover{ color:var(--white); }

/* ==========================================================================
   Chat widget
   ========================================================================== */
.chat-launcher{
  position:fixed;
  right:20px; bottom:20px;
  width:58px; height:58px;
  border-radius:50%;
  background:var(--signal);
  color:var(--white);
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 14px 30px -10px rgba(255,106,46,.6);
  z-index:200;
  transition:transform .25s var(--ease);
}
.chat-launcher:hover{ transform:scale(1.06); }
.chat-launcher svg{ width:26px;height:26px; }

.chat-panel{
  position:fixed;
  right:20px; bottom:90px;
  width:min(360px, calc(100vw - 40px));
  max-height:min(520px, calc(100vh - 140px));
  background:var(--white);
  border-radius:var(--radius-m);
  box-shadow:0 30px 70px -30px rgba(18,24,29,.5);
  border:1px solid var(--mist-line);
  display:flex;
  flex-direction:column;
  z-index:200;
  opacity:0;
  transform:translateY(12px) scale(.98);
  pointer-events:none;
  transition:opacity .2s var(--ease), transform .2s var(--ease);
}
.chat-panel.is-open{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.chat-head{
  padding:16px 18px;
  background:var(--steel);
  color:var(--fog);
  border-radius:var(--radius-m) var(--radius-m) 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.chat-head strong{ font-size:.95rem; }
.chat-head span{ display:block; font-size:.76rem; color:#9FACB3; font-family:var(--font-mono); }
.chat-close{ background:none;border:none;color:var(--fog);cursor:pointer;width:28px;height:28px; }
.chat-body{
  flex:1;
  overflow-y:auto;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.chat-msg{
  max-width:82%;
  padding:10px 13px;
  border-radius:12px;
  font-size:.88rem;
  line-height:1.4;
}
.chat-msg.is-bot{
  background:var(--fog-dim);
  color:var(--ink);
  border-bottom-left-radius:4px;
  align-self:flex-start;
}
.chat-msg.is-user{
  background:var(--signal-dim);
  color:var(--white);
  border-bottom-right-radius:4px;
  align-self:flex-end;
  white-space:pre-wrap;
}
.chat-msg.is-bot p{ margin:0 0 8px; }
.chat-msg.is-bot p:last-child{ margin-bottom:0; }
.chat-msg.is-bot ul{ margin:4px 0 8px;padding-left:18px; }
.chat-msg.is-bot ul:last-child{ margin-bottom:0; }
.chat-msg.is-bot li{ margin-bottom:4px; }
.chat-msg.is-bot li:last-child{ margin-bottom:0; }
.chat-msg.is-bot strong{ font-weight:700; }
.chat-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-self:flex-start;
  max-width:92%;
}
.chat-suggestion{
  background:var(--white);
  border:1.5px solid var(--mist-line);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:600;
  padding:7px 13px;
  border-radius:999px;
  cursor:pointer;
  transition:background-color .15s var(--ease), border-color .15s var(--ease);
}
.chat-suggestion:hover{ border-color:var(--signal); background:var(--fog-dim); }
.chat-form{
  display:flex;
  gap:8px;
  padding:14px;
  border-top:1px solid var(--mist-line);
}
.chat-form input{
  flex:1;
  border:1.5px solid var(--mist-line);
  border-radius:999px;
  padding:10px 16px;
  font-family:var(--font-body);
  font-size:.88rem;
}
.chat-form input:focus{ outline:none; border-color:var(--signal); }
.chat-form button{
  width:38px;height:38px;
  border-radius:50%;
  background:var(--signal);
  border:none;
  color:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex-shrink:0;
}
.chat-form button svg{ width:16px;height:16px; }

/* ==========================================================================
   AI Redzamība — AI answer demo
   ========================================================================== */
.ai-demo{
  max-width:640px;
  margin:0 auto;
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-l);
  overflow:hidden;
  box-shadow:0 30px 60px -40px rgba(18,24,29,.35);
}
.ai-demo-bar{
  display:flex;align-items:center;gap:8px;
  padding:14px 20px;
  background:var(--fog-dim);
  border-bottom:1px solid var(--mist-line);
}
.ai-demo-dot{ width:9px;height:9px;border-radius:50%;background:var(--mist); }
.ai-demo-title{ margin-left:6px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink-soft);letter-spacing:.04em; }
.ai-demo-body{ padding:clamp(20px,3vw,30px); }
.ai-demo-q{
  background:var(--fog);
  border-radius:var(--radius-m) var(--radius-m) var(--radius-m) 4px;
  padding:12px 16px;
  font-size:.92rem;font-weight:600;color:var(--ink);
  margin-bottom:18px;
  max-width:90%;
}
.ai-demo-a{ font-size:.94rem;color:var(--ink-soft);line-height:1.75; }
.ai-demo-a .rival{
  font-weight:700;color:var(--ink);
  background:var(--fog-dim);
  border-radius:4px;padding:1px 6px;
}
.ai-demo-verdict{
  display:flex;align-items:center;gap:10px;
  margin-top:20px;padding-top:16px;
  border-top:1px dashed var(--mist-line);
  font-size:.85rem;font-weight:700;color:var(--signal-dim);
}
.ai-demo-verdict::before{ content:"";width:8px;height:8px;border-radius:50%;background:var(--signal);flex-shrink:0; }
.ai-demo-caption{ text-align:center;margin-top:20px;font-size:.92rem;color:var(--ink-soft); }

/* ==========================================================================
   AI Redzamība — package pricing cards
   ========================================================================== */
.pkg-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.pkg-card{
  background:var(--white);
  border:1.5px solid var(--mist-line);
  border-radius:var(--radius-xl);
  padding:clamp(26px,3vw,32px);
  display:flex;flex-direction:column;
  position:relative;
}
.pkg-card.is-hl{
  border-color:var(--accent);
  box-shadow:0 20px 44px -30px rgba(255,106,46,.4);
}
.pkg-pop{
  position:absolute;top:-13px;left:24px;
  background:var(--accent);color:var(--white);
  font-family:var(--font-mono);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;
  padding:5px 12px;border-radius:999px;
}
.pkg-name{ font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--steel); }
.pkg-price-old{ font-family:var(--font-mono);font-size:.95rem;font-weight:500;color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--mist);margin-top:12px; }
.pkg-price{ font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,6vw,2rem);color:var(--ink);margin:2px 0 4px; }
.pkg-price .is-promo{ color:var(--signal-dim); }
.pkg-price small{ display:block;margin-top:4px;font-family:var(--font-mono);font-size:.85rem;font-weight:500;color:var(--ink-soft); }
.pkg-note{ font-size:.82rem;color:var(--ink-soft);margin-bottom:18px; }
.pkg-list{ list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px;flex:1; }
.pkg-list li{ font-size:.88rem;color:var(--ink-soft);padding-left:20px;position:relative;line-height:1.5; }
.pkg-list li::before{ content:"✓";position:absolute;left:0;color:var(--beacon);font-weight:700; }

/* ==========================================================================
   AI Redzamība — honest expectations block
   ========================================================================== */
.honest-box{
  background:var(--steel);color:var(--fog);
  border-radius:var(--radius-l);
  padding:clamp(36px,6vw,64px);
  text-align:center;
  max-width:820px;margin:0 auto;
}
.honest-box h2{ color:var(--fog);font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:16px; }
.honest-box p{ color:#C3CDD3;font-size:1.02rem;max-width:64ch;margin:0 auto; }

/* ==========================================================================
   Reviews
   ========================================================================== */
.reviews-marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.reviews-track{
  display:flex;
  gap:20px;
  width:max-content;
  animation:reviews-scroll 60s linear infinite;
}
.reviews-marquee:hover .reviews-track{ animation-play-state:paused; }
@keyframes reviews-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.review-card{
  flex:0 0 300px;
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
  padding:22px;
}
.review-stars{ color:var(--signal-dim); font-size:14px; letter-spacing:2px; margin-bottom:10px; }
.review-text{ font-size:.92rem; color:var(--ink-soft); line-height:1.6; margin-bottom:18px; min-height:4.8em; }
.review-author{ display:flex; align-items:center; gap:10px; }
.review-avatar{
  width:36px;height:36px;border-radius:50%;
  background:var(--fog-dim);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;color:var(--steel);font-size:13px;
  flex-shrink:0;
}
.review-name{ font-size:.88rem; font-weight:700; color:var(--ink); }
.review-role{ font-size:.78rem; color:var(--ink-soft); }

.review-form-box{
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
  padding:clamp(26px,3vw,34px);
  max-width:560px;
  margin:44px auto 0;
  text-align:center;
}
.review-form-box h3{ font-family:var(--font-body); font-size:1.1rem; font-weight:700; color:var(--ink); }
.review-form-box > p{ font-size:.9rem; color:var(--ink-soft); margin-top:6px; }
.review-form{ display:flex; flex-direction:column; gap:12px; margin-top:20px; text-align:left; }
.review-form-row{ display:flex; flex-direction:column; gap:6px; }
.review-form-row label{
  font-family:var(--font-mono); font-size:11.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft);
}
.review-form input, .review-form select, .review-form textarea{
  background:var(--fog);
  border:1.5px solid var(--mist-line);
  border-radius:10px;
  padding:11px 14px;
  font-family:var(--font-body);
  font-size:.92rem;
  color:var(--ink);
}
.review-form textarea{ resize:vertical; min-height:80px; }
.review-form input:focus, .review-form select:focus, .review-form textarea:focus{
  outline:none; border-color:var(--signal); background:var(--white);
}

/* ==========================================================================
   Blog
   ========================================================================== */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:20px;
}
.blog-card{
  background:var(--white);
  border:1px solid var(--mist-line);
  border-radius:var(--radius-m);
  padding:clamp(24px,3vw,30px);
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  position:relative;
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.blog-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:0 20px 44px -30px rgba(18,24,29,.35);
  opacity:0;
  transition:opacity .3s var(--ease);
  pointer-events:none;
}
.blog-card:hover{
  transform:translateY(-4px);
  border-color:var(--mist);
}
.blog-card:hover::after{ opacity:1; }
.blog-card-date{
  font-family:var(--font-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--signal-dim);
  margin-bottom:12px;
}
.blog-card h3{
  font-family:var(--font-body);
  font-size:1.1rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:10px;
}
.blog-card p{
  font-size:.92rem;
  color:var(--ink-soft);
  line-height:1.6;
  flex:1;
}
.blog-card-more{
  margin-top:16px;
  font-family:var(--font-mono);
  font-size:12.5px;
  font-weight:600;
  color:var(--signal-dim);
}

/* Article prose */
.prose{
  max-width:74ch;
  margin:0 auto;
}
.prose .article-meta{
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--ink-soft);
  margin-bottom:18px;
}
.prose h1{
  font-size:clamp(1.9rem,4vw,2.6rem);
  color:var(--ink);
  margin-bottom:18px;
}
.prose .article-lead{
  font-size:1.1rem;
  color:var(--ink-soft);
  margin-bottom:36px;
  line-height:1.7;
}
.prose h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.4rem;
  color:var(--ink);
  margin:44px 0 16px;
}
.prose h3{
  font-family:var(--font-body);
  font-weight:700;
  font-size:1.1rem;
  color:var(--ink);
  margin:28px 0 12px;
}
.prose p{
  font-size:1rem;
  color:var(--ink-soft);
  line-height:1.8;
  margin-bottom:18px;
}
.prose ul, .prose ol{
  margin:0 0 18px;
  padding-left:22px;
  color:var(--ink-soft);
  line-height:1.8;
}
.prose li{ margin-bottom:8px; }
.prose a{ color:var(--signal-dim); font-weight:600; text-decoration:underline; text-decoration-color:var(--mist); text-underline-offset:2px; }
.prose a:hover{ text-decoration-color:var(--signal-dim); }
.prose a.btn{ color:var(--white); text-decoration:none; }
.prose a.btn-ghost{ color:var(--ink); }
.prose strong{ color:var(--ink); }

/* ==========================================================================
   Cookie consent banner
   ========================================================================== */
.cookie-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:300;
  background:var(--steel);
  color:var(--fog);
  padding:18px 0;
  box-shadow:0 -12px 30px -12px rgba(18,24,29,.4);
  transform:translateY(100%);
  transition:transform .3s var(--ease);
}
.cookie-banner.is-visible{ transform:translateY(0); }
.cookie-banner-inner{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.cookie-banner-inner p{
  flex:1;
  min-width:240px;
  font-size:.86rem;
  color:#C3CDD3;
  line-height:1.5;
  margin:0;
}
.cookie-banner-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
.cookie-banner-actions .btn{
  padding:.6rem 1.1rem;
  font-size:.85rem;
}
.cookie-banner-actions .btn-ghost{
  color:var(--fog);
  border-color:rgba(238,241,242,.3);
}
.cookie-banner-actions .btn-ghost:hover{
  border-color:var(--fog);
  background:rgba(238,241,242,.08);
}
@media (max-width:640px){
  .cookie-banner-inner{ flex-direction:column; align-items:stretch; text-align:center; }
  .cookie-banner-actions{ justify-content:center; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:960px){
  .main-nav{ display:none; }
  .header-actions .lang-switch,
  .header-actions .btn-primary{ display:none; }
  .nav-toggle{ display:flex; }
  .bento{ grid-template-columns:repeat(2,1fr); }
  .bento-1,.bento-2,.bento-3,.bento-4,.bento-5,.bento-ai{ grid-column:span 1; grid-row:auto; }
  .bento-logistics{ grid-column:span 2; grid-row:span 1; min-height:260px; }
  .liaa{ grid-template-columns:1fr; text-align:left; }
  .final-cta{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:repeat(2,1fr); row-gap:32px; }
  .route-track::before,.route-line-fill{ display:none; }
  .route-track{ grid-template-columns:1fr 1fr; row-gap:20px; }
  .steps::before{ display:none; }
  .counters{ grid-template-columns:1fr; }
  .trust-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; row-gap:28px; }
  .pkg-grid{ grid-template-columns:1fr; }
  .blog-grid{ grid-template-columns:1fr; }
}

@media (max-width:640px){
  .bento{ grid-template-columns:1fr; }
  .bento-1,.bento-2,.bento-3,.bento-4,.bento-5,.bento-ai,.bento-logistics{ grid-column:span 1; grid-row:auto; }
  .pain-grid{ grid-template-columns:1fr; }
  .pain-arrow{ transform:rotate(90deg); padding:4px 0; }
  .liaa-number{ font-size:clamp(3.5rem,18vw,5rem); }
  .footer-grid{ grid-template-columns:1fr; }
  .route-track{ grid-template-columns:1fr 1fr; }
  .btn{ white-space:normal; text-align:center; max-width:100%; }
}

@media (max-width:400px){
  .hero-ctas .btn{ width:100%; justify-content:center; }
}
