
:root{
  --font-heading: 'Lora', serif;
  --font-body: 'Inter', sans-serif;

  --color-ink: #1B2530;
  --color-ink-soft: #46545F;
  --color-surface: #FAF7F1;
  --color-surface-raised: #FFFFFF;
  --color-surface-inset: #F1EBDE;
  --color-primary: #1C3A45;
  --color-primary-light: #274E5C;
  --color-accent: #DD7A45;
  --color-accent-dark: #C1622F;
  --color-accent-soft: #F3D9C6;
  --color-accent-2: #33806B;
  --color-border: #E4DDCC;
  --color-error: #C1443B;

  --shadow-sm: 0 1px 2px rgba(27,37,48,.06), 0 1px 1px rgba(27,37,48,.04);
  --shadow-md: 0 6px 14px rgba(27,37,48,.09), 0 2px 5px rgba(27,37,48,.07);
  --shadow-lg: 0 18px 34px rgba(27,37,48,.14), 0 6px 14px rgba(27,37,48,.08);
  --shadow-xl: 0 32px 64px rgba(27,37,48,.20), 0 14px 26px rgba(27,37,48,.12);

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 26px;
  --radius-xl: 36px;

  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --space-7: 6rem;
  --space-8: 8rem;

  --transition: .3s cubic-bezier(.4,0,.2,1);
  --nav-height: 76px;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--color-ink-soft);
  background: var(--color-surface);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; transition: color var(--transition); }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3{ font-family: var(--font-heading); color: var(--color-ink); margin:0; }
p{ margin:0; }
button{ font-family: var(--font-body); cursor:pointer; border:none; background:none; }
input,textarea,select{ font-family: var(--font-body); }

.container{ max-width: 1240px; margin-inline:auto; padding-inline: var(--space-3); }


.text-display{
  font-family: var(--font-heading);
  font-weight:600;
  font-size: clamp(2.4rem, 4.5vw + 1rem, 4.2rem);
  line-height:1.06;
  color: var(--color-ink);
  letter-spacing: -0.01em;
}
.text-h2{
  font-family: var(--font-heading);
  font-weight:600;
  font-size: clamp(1.85rem, 2.6vw + 1rem, 2.6rem);
  line-height:1.16;
  color: var(--color-ink);
}
.text-h3{
  font-family: var(--font-heading);
  font-weight:600;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.55rem);
  line-height:1.3;
  color: var(--color-ink);
}
.text-lead{
  font-size: clamp(1.05rem, .6vw + 1rem, 1.3rem);
  line-height:1.6;
  color: var(--color-ink-soft);
}
.text-body{ font-size:1rem; line-height:1.75; color: var(--color-ink-soft); }
.text-caption{
  font-size:.8rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:600;
  color: var(--color-accent-dark);
}
.on-dark .text-caption{ color: var(--color-accent-soft); }


.action-primary{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  background: var(--color-accent);
  color:#fff;
  font-weight:600;
  font-size:.95rem;
  padding: .95rem 1.7rem;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
  min-height:44px;
}
.action-primary:hover{ background: var(--color-accent-dark); transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.action-ghost{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  background: transparent;
  color: var(--color-ink);
  font-weight:600;
  font-size:.95rem;
  padding: .9rem 1.5rem;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--color-border);
  transition: all var(--transition);
  min-height:44px;
}
.action-ghost:hover{ border-color: var(--color-accent); color: var(--color-accent-dark); transform: translateY(-2px); }
.action-ghost--light{ color:#fff; border-color: rgba(255,255,255,.4); }
.action-ghost--light:hover{ border-color:#fff; color:#fff; background: rgba(255,255,255,.1); }


.space-section{ padding-block: var(--space-7); }
.space-card{ padding: var(--space-4); }
.surface{ background: var(--color-surface); }
.surface-raised{ background: var(--color-surface-raised); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.surface-inset{ background: var(--color-surface-inset); border-radius: var(--radius-md); }
.surface-inset-bg{ background: var(--color-surface-inset); }

.split{ display:grid; gap: var(--space-5); align-items:center; }
.split--60-40{ grid-template-columns: 1fr; }
.split--40-60{ grid-template-columns: 1fr; }
.split-img{ width:100%; height:100%; object-fit:cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); aspect-ratio: 4/5; }
.split-media{ position:relative; }
.section-heading{ max-width: 700px; margin-bottom: var(--space-5); }
.section-heading--center{ text-align:center; margin-inline:auto; }
.section-heading-lead{ margin-top: var(--space-2); }
.narrow-text{ max-width: 760px; }
.narrow-text h2{ margin-bottom: var(--space-2); }
.narrow-text p{ margin-bottom: var(--space-2); }

@media (min-width: 900px){
  .split--60-40{ grid-template-columns: 1.4fr 1fr; }
  .split--40-60{ grid-template-columns: 1fr 1.4fr; }
}


.skip-link{
  position:absolute; left:-999px; top:0; background:var(--color-ink); color:#fff;
  padding:.8rem 1.2rem; z-index:200; border-radius:0 0 var(--radius-sm) 0;
}
.skip-link:focus{ left:0; }


.cookie-bar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap: var(--space-2);
  background: var(--color-primary);
  color: #EFE9DC;
  padding: .85rem var(--space-3);
  max-height: 200px;
  overflow:hidden;
  transition: max-height .45s ease, padding .45s ease, opacity .3s ease;
  opacity:1;
}
.cookie-bar--hidden{ max-height:0; padding-block:0; opacity:0; }
.cookie-text{ font-size:.85rem; line-height:1.5; max-width:640px; margin:0; }
.cookie-text a{ color: var(--color-accent-soft); text-decoration:underline; }
.cookie-actions{ display:flex; gap:.6rem; flex-shrink:0; }
.cookie-btn{ padding:.55rem 1rem; font-size:.8rem; border-radius:8px; min-height:38px; }
.cookie-actions .action-ghost{ border-color: rgba(255,255,255,.3); color:#fff; padding:.55rem 1rem; min-height:38px; }
.cookie-actions .action-primary{ padding:.55rem 1rem; box-shadow:none; min-height:38px; }


.site-header{
  position: sticky; top:0; z-index:100;
  background: transparent;
  transition: background .35s ease, box-shadow .35s ease, padding .3s ease;
}
.site-header--on-light{ background: rgba(250,247,241,.94); backdrop-filter: blur(12px); box-shadow: var(--shadow-sm); }
.site-header--on-dark{ background: rgba(20,30,36,.2); backdrop-filter: blur(8px); }
.site-nav{ padding-block: 0; }
.nav-inner{
  max-width:1240px; margin-inline:auto; padding-inline: var(--space-3);
  display:flex; align-items:center; gap: var(--space-4);
  height: var(--nav-height);
}
.nav-logo{ display:flex; align-items:center; margin-right:auto; }
.nav-logo img{ transition: filter var(--transition); }
.nav-menu{ display:none; gap: var(--space-4); align-items:center; }
.nav-link{
  font-size:.92rem; font-weight:600; color: var(--color-ink); position:relative;
  padding: .4rem 0;
  transition: color var(--transition);
}
.site-header--on-dark .nav-link{ color:#fff; }
.site-header--on-dark .nav-logo img{ filter: brightness(0) invert(1); }
.nav-link::after{
  content:''; position:absolute; left:0; bottom:-4px; height:2px; width:0; background: var(--color-accent);
  transition: width var(--transition);
}
.nav-link:hover::after, .nav-link.is-active::after{ width:100%; }
.nav-cta{ display:none; }
.nav-toggle{
  width:44px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  border-radius:10px;
}
.nav-toggle span{ width:22px; height:2px; background: var(--color-ink); border-radius:2px; transition: all var(--transition); }
.site-header--on-dark .nav-toggle span{ background:#fff; }

@media (min-width:1024px){
  .nav-menu{ display:flex; }
  .nav-cta{ display:inline-flex; }
  .nav-toggle{ display:none; }
}


.mobile-overlay{
  position: fixed; inset:0; z-index:300;
  background: linear-gradient(150deg, var(--color-primary), #10242C 70%);
  display:flex; flex-direction:column;
  padding: var(--space-3);
  opacity:0; visibility:hidden; transform: translateY(-10px);
  transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}
.mobile-overlay.is-open{ opacity:1; visibility:visible; transform:translateY(0); }
.mobile-overlay-top{ display:flex; align-items:center; justify-content:space-between; padding-block: var(--space-2); }
.mobile-logo{ filter: brightness(0) invert(1); }
.mobile-close{ width:46px; height:46px; border-radius:50%; background: rgba(255,255,255,.08); color:#fff; font-size:1.2rem; display:flex; align-items:center; justify-content:center; }
.mobile-grid{ flex:1; display:grid; grid-template-columns: repeat(2,1fr); gap: var(--space-3); align-content:center; padding-block: var(--space-4); }
.mobile-grid li a{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap: .8rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-2);
  color:#fff; font-weight:600; font-size:.95rem;
  min-height:110px;
  transition: background var(--transition), transform var(--transition);
}
.mobile-grid li a:hover{ background: rgba(255,255,255,.14); transform: translateY(-4px); }
.mobile-grid li a i{ font-size:1.5rem; color: var(--color-accent-soft); }
body.menu-open{ overflow:hidden; }


.hero{ position:relative; min-height: 92vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:visible; }
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-img{ width:100%; height:100%; object-fit:cover; }
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(20,30,36,.35) 0%, rgba(16,24,30,.72) 75%, rgba(16,24,30,.9) 100%);
}
.hero-content{ position:relative; z-index:1; padding-top: var(--space-7); padding-bottom: var(--space-6); color:#fff; }
.hero-eyebrow{ color: var(--color-accent-soft); margin-bottom: var(--space-2); }
.hero-heading{ color:#fff; max-width:820px; }
.hero-lead{ color: #E7E2D6; max-width:600px; margin-block: var(--space-3); }
.hero-actions{ display:flex; flex-wrap:wrap; gap: var(--space-2); margin-top: var(--space-3); }

.mini-card-row{
  position:relative; z-index:2;
  display:flex; gap: var(--space-3);
  overflow-x:auto; scroll-snap-type: x mandatory;
  padding: 0 var(--space-3) var(--space-3);
  margin-top: var(--space-5);
  transform: translateY(48%);
  -ms-overflow-style:none; scrollbar-width:none;
}
.mini-card-row::-webkit-scrollbar{ display:none; }
.mini-card{
  scroll-snap-align:start;
  flex: 0 0 260px;
  background: var(--color-surface-raised);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  padding: var(--space-3);
  display:flex; flex-direction:column; gap: var(--space-2);
  transition: transform var(--transition), box-shadow var(--transition);
}
.mini-card:hover{ transform: translateY(-8px); box-shadow: 0 40px 70px rgba(27,37,48,.24), 0 16px 30px rgba(27,37,48,.14); }
.mini-card .card-header{ display:flex; flex-direction:column; gap:.6rem; }
.mini-card-icon{ font-size:1.4rem; color: var(--color-accent); }
.mini-card h3{ font-size:1.1rem; }
.mini-card .card-body p{ font-size:.92rem; color: var(--color-ink-soft); line-height:1.6; }
.mini-card .card-footer{ margin-top:auto; }
.card-footer-link{ font-weight:600; font-size:.88rem; color: var(--color-accent-dark); display:inline-flex; align-items:center; gap:.4rem; transition: gap var(--transition); }
.card-footer-link:hover{ gap:.7rem; color: var(--color-accent); }

#pristup{ padding-top: calc(var(--space-7) + 5rem); }


.process-steps{
  display:grid; grid-template-columns:1fr; gap: var(--space-4);
  position:relative;
}
.process-step{
  background: var(--color-surface-raised);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--space-4);
  position:relative;
  transition: transform var(--transition), box-shadow var(--transition);
}
.process-step:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.process-step-number{
  font-family: var(--font-heading); font-weight:700; font-size:2.2rem; color: var(--color-accent-soft);
  -webkit-text-stroke: 1.5px var(--color-accent);
  margin-bottom: var(--space-1);
}
.process-step .card-header{ display:flex; align-items:center; gap:.7rem; margin-bottom:.6rem; }
.process-icon{ color: var(--color-accent-2); font-size:1.2rem; }
.process-step h3{ font-size:1.15rem; }
.process-step .card-body p{ font-size:.94rem; }

@media (min-width: 900px){
  .process-steps{ grid-template-columns: repeat(4,1fr); }
  .process-steps::before{
    content:''; position:absolute; top:28px; left:8%; right:8%; height:2px;
    background: repeating-linear-gradient(90deg, var(--color-border) 0 10px, transparent 10px 18px);
    z-index:0;
  }
}


.comparison-grid{ display:grid; grid-template-columns:1fr; gap: var(--space-4); }
.comparison-card{
  background: var(--color-surface-raised);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--space-4);
  display:flex; flex-direction:column;
  position:relative;
  border: 1.5px solid transparent;
  transition: transform var(--transition), box-shadow var(--transition);
}
.comparison-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.comparison-card--featured{ border-color: var(--color-accent); box-shadow: var(--shadow-lg); }
.comparison-flag{
  position:absolute; top:-14px; left: var(--space-3);
  background: var(--color-accent); color:#fff; font-size:.75rem; font-weight:600;
  padding: .3rem .8rem; border-radius: 20px; box-shadow: var(--shadow-sm);
}
.comparison-icon{ font-size:1.6rem; color: var(--color-accent); margin-bottom: var(--space-1); display:block; }
.comparison-card h3{ font-size:1.3rem; margin-bottom:.3rem; }
.comparison-sub{ color: var(--color-ink-soft); text-transform:none; letter-spacing:0; font-weight:500; font-size:.85rem; }
.comparison-card .card-body{ flex:1; margin-block: var(--space-3); }
.feature-list li{ display:flex; align-items:flex-start; gap:.6rem; font-size:.92rem; padding-block:.4rem; border-bottom:1px dashed var(--color-border); }
.feature-list li:last-child{ border-bottom:none; }
.feature-list i{ color: var(--color-accent-2); margin-top:.2rem; }
.comparison-card .card-footer{ margin-top:auto; }
.comparison-card .card-footer a{ width:100%; }

@media (min-width: 900px){
  .comparison-grid{ grid-template-columns: repeat(3,1fr); }
  .comparison-card--featured{ transform: translateY(-14px); }
  .comparison-card--featured:hover{ transform: translateY(-20px); }
}


.gallery-grid{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.gallery-grid--two{ margin-bottom: var(--space-4); }
.gallery-item figure{ margin:0; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); position:relative; }
.gallery-item img{ width:100%; aspect-ratio: 4/3; object-fit:cover; transition: transform .6s ease; }
.gallery-item:hover img{ transform: scale(1.06); }
.gallery-item figcaption{
  position:absolute; left:0; right:0; bottom:0; padding: var(--space-2);
  background: linear-gradient(0deg, rgba(16,24,30,.85), transparent);
  color:#fff; font-size:.85rem; font-weight:500;
}
@media (min-width: 900px){
  .gallery-grid{ grid-template-columns: repeat(3,1fr); }
  .gallery-grid--two{ grid-template-columns: repeat(2,1fr); }
}


.cta-band{ position:relative; padding-block: var(--space-7); overflow:hidden; }
.cta-band-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.cta-band-overlay{ position:absolute; inset:0; background: linear-gradient(120deg, rgba(16,24,30,.92), rgba(28,58,69,.75)); z-index:1; }
.cta-band-content{ position:relative; z-index:2; max-width:640px; }
.cta-band-content h2{ color:#fff; margin-bottom: var(--space-2); }
.cta-band-content p{ color:#E7E2D6; margin-bottom: var(--space-3); }


.values-grid{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.value-card{
  background: var(--color-surface-raised); border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
  padding: var(--space-3); transition: transform var(--transition), box-shadow var(--transition);
}
.value-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.value-card .card-header{ display:flex; align-items:center; gap:.7rem; margin-bottom:.5rem; }
.value-icon{ font-size:1.3rem; color: var(--color-accent); }
.value-card h3{ font-size:1.05rem; }
.value-card p{ font-size:.9rem; }
@media (min-width:900px){ .values-grid{ grid-template-columns: repeat(4,1fr); } }

.founded-note{ margin-top: var(--space-3); font-size:1.05rem; }
.counter{ font-weight:700; color: var(--color-accent-dark); font-family: var(--font-heading); }


.page-hero{ position:relative; min-height:52vh; display:flex; align-items:flex-end; overflow:hidden; }
.page-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero-overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(16,24,30,.35), rgba(16,24,30,.85)); }
.page-hero-content{ position:relative; z-index:1; padding-block: var(--space-6); color:#fff; }
.page-hero-heading{ color:#fff; max-width:760px; }
.page-hero-lead{ color:#E7E2D6; max-width:600px; margin-top: var(--space-2); }
.page-hero--compact{ min-height:34vh; align-items:center; }
.page-hero-gradient{ position:absolute; inset:0; background: linear-gradient(120deg, var(--color-primary), #0F2229 80%); }


.framework-list{ display:flex; flex-direction:column; gap: var(--space-4); }
.framework-list li{ display:flex; gap: var(--space-3); align-items:flex-start; }
.framework-num{
  flex-shrink:0; width:52px; height:52px; border-radius:50%;
  background: var(--color-surface-inset); color: var(--color-accent-dark);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-heading); font-weight:700; font-size:1.2rem;
  box-shadow: var(--shadow-sm);
}
.framework-list h3{ font-size:1.2rem; margin-bottom:.4rem; }


.form-panel{ padding: var(--space-4); display:flex; flex-direction:column; gap: var(--space-3); }
.form-row{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.form-field{ display:flex; flex-direction:column; gap:.4rem; }
.form-field label{ font-size:.88rem; font-weight:600; color: var(--color-ink); }
.form-field input, .form-field textarea, .form-field select{
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: .8rem 1rem;
  font-size:.95rem;
  background: var(--color-surface);
  color: var(--color-ink);
  transition: border-color var(--transition), box-shadow var(--transition);
  min-height:44px;
}
.form-field textarea{ resize:vertical; min-height:90px; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{
  outline:none; border-color: var(--color-accent); box-shadow: 0 0 0 4px rgba(221,122,69,.15);
}
.field-error{ border-color: var(--color-error) !important; }
.form-checkbox{ display:flex; align-items:flex-start; gap:.6rem; }
.form-checkbox input{ margin-top:.3rem; width:20px; height:20px; flex-shrink:0; accent-color: var(--color-accent); }
.form-checkbox label{ font-size:.85rem; color: var(--color-ink-soft); font-weight:400; }
.form-checkbox label a{ text-decoration:underline; color: var(--color-accent-dark); }
.form-row--consent{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap: var(--space-2); }
.form-note{ font-size:.78rem; color: var(--color-ink-soft); opacity:.8; }

@media (min-width: 720px){ .form-row{ grid-template-columns: 1fr 1fr; } }

.split--form .split-media--info{ display:flex; flex-direction:column; gap: var(--space-3); }
.info-card{ overflow:hidden; }
.info-card-img{ width:100%; aspect-ratio: 16/10; object-fit:cover; }
.info-card-body{ padding: var(--space-3); }
.info-steps{ display:flex; flex-direction:column; gap: var(--space-2); margin-top: var(--space-2); }
.info-steps li{ display:flex; gap:.7rem; font-size:.9rem; align-items:flex-start; }
.info-steps i{ color: var(--color-accent); margin-top:.2rem; }


.form-inline{ padding: var(--space-3); display:flex; flex-direction:column; gap: var(--space-3); }
.form-inline-row{ display:grid; grid-template-columns:1fr; gap: var(--space-2); }
.form-inline-row--secondary{ align-items:center; justify-content:space-between; }
@media (min-width:720px){
  .form-inline-row{ grid-template-columns: 1fr 1.6fr; }
  .form-inline-row--secondary{ grid-template-columns: 1fr auto; }
}
.contact-details-card{ padding: 0; margin-bottom: var(--space-3); overflow:hidden; }
.contact-details-card .card-header{ padding: var(--space-3) var(--space-3) 0; }
.contact-details-card .card-body{ padding: var(--space-3); }
.contact-details-card address{ font-style:normal; line-height:1.8; margin-bottom: var(--space-2); }
.map-frame{ overflow:hidden; padding:0; }


.facts-strip{
  display:grid; grid-template-columns:1fr; gap: var(--space-2);
  background: var(--color-surface-raised);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--space-3);
}
.facts-strip li{ display:flex; align-items:center; gap:.8rem; font-size:.92rem; font-weight:500; color: var(--color-ink); padding: var(--space-1); }
.facts-strip i{ color: var(--color-accent); font-size:1.1rem; width:24px; text-align:center; }
@media (min-width: 900px){ .facts-strip{ grid-template-columns: repeat(4,1fr); } }


.legal-hero{ padding-block: var(--space-6) var(--space-4); border-bottom:1px solid var(--color-border); }
.legal-hero--medium{ padding-block: var(--space-5) var(--space-3); }
.legal-hero--compact{ padding-block: var(--space-4) var(--space-2); }
.legal-heading{ margin-block: var(--space-2); }
.legal-timeline{ position:relative; display:flex; flex-direction:column; gap: var(--space-5); max-width:820px; }
.legal-timeline::before{ content:''; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background: var(--color-border); }
.legal-item{ position:relative; padding-left: var(--space-5); }
.legal-marker{ position:absolute; left:0; top:2px; display:flex; flex-direction:column; align-items:center; gap:.3rem; }
.legal-dot{ width:20px; height:20px; border-radius:50%; background: var(--color-accent); box-shadow: 0 0 0 5px var(--color-surface-inset); }
.legal-dot--alt{ background: var(--color-accent-2); }
.legal-dot--sm{ width:14px; height:14px; }
.legal-marker time{ font-size:.7rem; color: var(--color-ink-soft); white-space:nowrap; writing-mode: horizontal-tb; }
.legal-content h2{ font-size:1.3rem; margin-bottom: var(--space-2); }
.legal-content p{ font-size:.95rem; line-height:1.75; color: var(--color-ink-soft); }
.legal-timeline--medium .legal-content h2{ font-size:1.2rem; }
.legal-timeline--compact .legal-item{ padding-left: var(--space-4); }
.legal-timeline--compact .legal-content h2{ font-size:1.1rem; margin-bottom: var(--space-1); }


.thanks-section{
  min-height: 60vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding: var(--space-7) var(--space-3); gap: var(--space-3);
}
.thanks-dot{
  width:26px; height:26px; border-radius:50%; background: var(--color-accent);
  transform: scale(0); animation: dotPop .6s cubic-bezier(.34,1.56,.64,1) forwards;
  box-shadow: var(--shadow-lg);
}
.thanks-heading{ opacity:0; transform: translateY(12px); animation: fadeUp .6s ease forwards; animation-delay: .5s; }
.thanks-text{ max-width:480px; opacity:0; transform: translateY(12px); animation: fadeUp .6s ease forwards; animation-delay: .8s; }
.thanks-link{
  opacity:0; animation: fadeUp .6s ease forwards; animation-delay: 1.2s;
  font-weight:600; color: var(--color-accent-dark); display:inline-flex; align-items:center; gap:.5rem;
}
@keyframes dotPop{ to{ transform: scale(1); } }
@keyframes fadeUp{ to{ opacity:1; transform: translateY(0); } }


.site-footer{ background: var(--color-primary); color:#D8D2C4; margin-top:auto; }
.footer-top{ display:grid; grid-template-columns:1fr; gap: var(--space-4); padding-block: var(--space-6) var(--space-4); }
.footer-brand{ max-width:340px; }
.footer-logo{ filter: brightness(0) invert(1); margin-bottom: var(--space-2); }
.footer-tagline{ color:#B9B2A0; font-size:.92rem; }
.footer-col h3{ color:#E7E2D6; margin-bottom: var(--space-2); }
.footer-col ul{ display:flex; flex-direction:column; gap:.6rem; }
.footer-col a{ font-size:.9rem; color:#C9C3B4; transition: color var(--transition); }
.footer-col a:hover{ color:#fff; }
.footer-col address{ font-style:normal; font-size:.9rem; line-height:1.8; color:#C9C3B4; }
.footer-col address a{ color:#C9C3B4; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding-block: var(--space-3); display:flex; flex-wrap:wrap; gap: var(--space-2); justify-content:space-between; }
.footer-bottom small{ color:#9B947F; font-size:.78rem; }

@media (min-width: 900px){
  .footer-top{ grid-template-columns: 1.4fr 1fr 1fr 1fr; }
}

html, body{ min-height:100%; }
body{ display:flex; flex-direction:column; min-height:100vh; }
main{ flex:1; }


.reveal{ opacity:0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible{ opacity:1; transform: translateY(0); }

@media (max-width: 640px){
  .mini-card{ flex-basis: 240px; }
  .hero{ min-height:auto; padding-top: var(--space-6); }
  .hero-content{ padding-top: var(--space-5); padding-bottom: var(--space-4); }
  .mini-card-row{ transform: translateY(30%); }
  #pristup{ padding-top: calc(var(--space-6) + 3rem); }
}