:root{--km-ivory:#f4efe6;--km-ink:#102c30;--km-forest:#40594d;--km-copper:#c17a4b;--km-terra:#9a6048;--km-muted:#505955;--km-line:rgba(16,44,48,.16);--km-white:#fffdf8}
html{background:var(--km-ivory)}
html{scrollbar-color:rgba(193,122,75,.72) var(--km-ink)}
::-webkit-scrollbar{width:12px}
::-webkit-scrollbar-track{background:var(--km-ink)}
::-webkit-scrollbar-thumb{background:rgba(193,122,75,.72);border:3px solid var(--km-ink);border-radius:999px}
body.km-site{margin:0;color:#202525;background:var(--km-ivory);font-family:Inter,"Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
body.km-site *{box-sizing:border-box}
body.km-site h1,body.km-site h2,body.km-site h3{font-family:"Avenir Next",Inter,"Helvetica Neue",Arial,sans-serif}
.km-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:82px;padding:12px max(4vw,24px);background:rgba(244,239,230,.94);border-bottom:1px solid var(--km-line);backdrop-filter:blur(18px)}
.km-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--km-ink);white-space:nowrap}.km-monogram{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--km-copper);border-radius:50%;font-size:12px;font-weight:800;letter-spacing:.08em}.km-brand span{display:grid;gap:2px}.km-brand strong{font-size:17px}.km-brand small{color:var(--km-muted);font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.km-nav{display:flex;justify-content:center;gap:clamp(14px,2vw,30px)}.km-nav a{position:relative;color:#4d5652;text-decoration:none;font-size:11px;font-weight:750;letter-spacing:.055em;white-space:nowrap}.km-nav a:hover,.km-nav a[aria-current="page"]{color:var(--km-terra)}.km-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--km-copper)}
.km-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid currentColor;border-radius:999px;color:var(--km-ink);text-decoration:none;font-size:12px;font-weight:800;transition:.2s}.km-button:hover{transform:translateY(-2px)}.km-button-primary{color:#fff;background:var(--km-copper);border-color:var(--km-copper)}.km-button-dark{color:#fff;background:var(--km-ink);border-color:var(--km-ink)}
.km-menu{display:none}.km-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.km-hero{padding:clamp(72px,8vw,128px) max(6vw,24px);background:radial-gradient(circle at 86% 12%,rgba(193,122,75,.18),transparent 30%),linear-gradient(135deg,var(--km-ivory),#f8f3ea 66%,#e7d9c7)}.km-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);align-items:center;gap:clamp(48px,8vw,130px);max-width:1480px;margin:auto}.km-hero-copy{max-width:900px}.km-kicker{display:block;margin-bottom:22px;color:var(--km-terra);font-size:10px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.km-hero h1,.km-page-hero h1{margin:0;color:var(--km-ink);font-size:clamp(56px,6.5vw,104px);font-weight:620;letter-spacing:-.055em;line-height:.93}.km-hero h1 span,.km-page-hero h1 span{color:var(--km-terra)}.km-lead{max-width:780px;margin-top:30px;color:var(--km-muted);font-size:clamp(18px,1.5vw,23px);line-height:1.58}.km-portrait{position:relative;margin:0;min-height:590px;border-radius:52px 22px 52px 22px;background:var(--km-ink);overflow:hidden;box-shadow:0 28px 70px rgba(24,37,33,.16)}.km-portrait img{width:100%;height:100%;min-height:590px;object-fit:cover;object-position:50% 18%}.km-portrait figcaption{position:absolute;left:22px;right:22px;bottom:22px;padding:16px 18px;color:#fff;background:rgba(16,44,48,.82);border:1px solid rgba(255,255,255,.18);border-radius:16px;backdrop-filter:blur(14px);font-size:12px;line-height:1.5}
.km-section{padding:clamp(86px,9vw,150px) max(6vw,24px)}.km-inner{max-width:1480px;margin:auto}.km-section h2{max-width:1050px;margin:0;color:var(--km-ink);font-size:clamp(40px,4.8vw,76px);font-weight:560;letter-spacing:-.045em;line-height:1.02}.km-section-lead{width:100%;max-width:none;margin-top:26px;color:var(--km-muted);font-size:18px;line-height:1.68}.km-section-lead>span{display:block}.km-dark{color:var(--km-ivory);background:var(--km-ink)}.km-dark h2,.km-dark h3{color:#fff}.km-dark .km-section-lead,.km-dark p{color:#d5d7d0}.km-copper{color:#fff;background:var(--km-terra)}.km-copper h2,.km-copper h3,.km-copper p{color:#fff}
.km-two-worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:64px}.km-world,.km-card{display:flex;flex-direction:column;min-height:340px;padding:clamp(28px,3.2vw,48px);border:1px solid var(--km-line);border-radius:30px;background:var(--km-white)}.km-world:nth-child(2){background:#e5e9e2}.km-card-tag{color:var(--km-terra);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.km-world h3,.km-card h3{margin:auto 0 18px;color:var(--km-ink);font-size:clamp(30px,3vw,46px);line-height:1.04}.km-world p,.km-card p{margin:0;color:var(--km-muted);line-height:1.65}.km-text-link{display:inline-flex;width:fit-content;margin-top:26px;padding-bottom:5px;border-bottom:1px solid currentColor;color:var(--km-terra);text-decoration:none;font-size:12px;font-weight:800}
.km-book-grid,.km-project-grid,.km-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:60px}.km-book{display:flex;flex-direction:column;min-height:410px;padding:34px;border-radius:30px;background:#ebe1d2}.km-book:nth-child(2){background:#dce3d9}.km-book:nth-child(3){color:#fff;background:var(--km-ink)}.km-book:nth-child(3) h3{color:#fff}.km-book:nth-child(3) p{color:#d9ddd8}.km-book h3{margin:auto 0 20px;color:var(--km-ink);font-size:clamp(29px,3vw,44px);line-height:1.05}.km-book p{color:var(--km-muted);line-height:1.65}.km-book .km-actions{margin-top:26px}
.km-quote{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:8vw}.km-quote blockquote{margin:0;color:var(--km-ink);font-family:"Avenir Next",Inter,sans-serif;font-size:clamp(34px,4.4vw,68px);letter-spacing:-.045em;line-height:1.06}.km-copy{display:grid;gap:22px}.km-copy p{margin:0;color:var(--km-muted);font-size:17px;line-height:1.72}
.km-page-hero{padding:clamp(96px,10vw,160px) max(6vw,24px);background:radial-gradient(circle at 88% 18%,rgba(193,122,75,.2),transparent 32%),var(--km-ivory)}.km-page-hero .km-inner{max-width:1300px}.km-page-hero h1{max-width:1120px}.km-page-hero .km-lead{max-width:850px}.km-page-hero-dark{background:radial-gradient(circle at 85% 20%,rgba(193,122,75,.22),transparent 30%),var(--km-ink)}.km-page-hero-dark h1{color:#fff}.km-page-hero-dark .km-lead{color:#d7d9d3}
.km-list{display:grid;gap:0;margin:48px 0 0;padding:0;list-style:none;border-top:1px solid var(--km-line)}.km-list li{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--km-line)}.km-list b{color:var(--km-terra);font-size:11px;letter-spacing:.12em}.km-list span{color:var(--km-ink);font-size:19px;line-height:1.45}
.km-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.km-contact-links{display:grid;margin-top:34px}.km-contact-links a{display:grid;grid-template-columns:1fr auto;padding:20px 0;border-bottom:1px solid var(--km-line);color:var(--km-ink);text-decoration:none}.km-contact-form{display:grid;gap:20px;padding:clamp(28px,4vw,54px);border-radius:30px;background:#e8ddd0}.km-contact-form label{display:grid;gap:8px;color:var(--km-muted);font-size:11px;font-weight:800}.km-contact-form input,.km-contact-form textarea{width:100%;padding:14px 0;color:var(--km-ink);background:transparent;border:0;border-bottom:1px solid rgba(16,44,48,.35);outline:0;font:inherit}.km-contact-form textarea{min-height:130px;resize:vertical}.km-contact-form .km-button{justify-self:start}
.km-footer{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:50px;padding:76px max(6vw,24px) 30px;color:var(--km-ivory);background:var(--km-ink);border-top:7px solid var(--km-copper)}.km-footer h2{margin:14px 0 8px;font-size:30px}.km-footer p{margin:0;color:#cdd0ca;line-height:1.6}.km-footer-links{display:grid;gap:12px}.km-footer a{color:inherit;text-decoration:none}.km-footer a:hover{color:#e4b18b}.km-footer-bottom{grid-column:1/-1;display:flex;gap:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);color:#aeb5ae;font-size:11px}
@media(max-width:1050px){.km-nav{display:none}.km-menu{display:block}.km-menu summary{display:grid;place-content:center;width:44px;height:44px;border:1px solid var(--km-line);border-radius:50%;cursor:pointer;list-style:none}.km-menu summary::before{content:"☰"}.km-menu nav{position:absolute;top:74px;left:18px;right:18px;display:grid;gap:4px;padding:20px;background:var(--km-ivory);border:1px solid var(--km-line);border-radius:20px;box-shadow:0 24px 60px rgba(16,44,48,.16)}.km-menu nav a{padding:12px;color:var(--km-ink);text-decoration:none;font-weight:750}.km-header>.km-button{display:none}.km-header{grid-template-columns:1fr auto}.km-hero-grid{grid-template-columns:1fr}.km-portrait{width:min(100%,620px)}.km-book-grid,.km-project-grid,.km-media-grid{grid-template-columns:1fr 1fr}.km-footer{grid-template-columns:1fr 1fr}.km-footer-bottom{grid-column:1/-1}}
@media(max-width:700px){.km-header{min-height:70px;padding:9px 18px}.km-brand small{display:none}.km-monogram{width:38px;height:38px}.km-hero,.km-section,.km-page-hero{padding-left:20px;padding-right:20px}.km-hero h1,.km-page-hero h1{font-size:clamp(48px,14vw,68px)}.km-portrait,.km-portrait img{min-height:120vw}.km-two-worlds,.km-book-grid,.km-project-grid,.km-media-grid,.km-quote,.km-contact-grid{grid-template-columns:1fr}.km-world,.km-card{min-height:270px}.km-book{min-height:340px}.km-actions{display:grid}.km-actions .km-button{width:100%}.km-list li{grid-template-columns:42px 1fr}.km-footer{grid-template-columns:1fr;padding:56px 20px 28px}.km-footer-bottom{flex-wrap:wrap}.km-page-hero{padding-top:82px;padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Strong, consistent contrast on every dark and copper section. */
.km-dark .km-kicker { color: #e4b18b; }
.km-dark .km-list { border-color: rgba(255,255,255,.22); }
.km-dark .km-list li { border-color: rgba(255,255,255,.22); }
.km-dark .km-list b { color: #e4b18b; }
.km-dark .km-list span { color: #f4efe6; }
.km-dark > .km-inner > .km-actions .km-button:not(.km-button-primary):not(.km-button-dark) {
  color: #fff;
  border-color: rgba(255,255,255,.72);
}
.km-copper .km-kicker { color: #fff3e8; }

/* Editorial rhythm: large statements need air between meaningful lines. */
.km-hero h1,
.km-page-hero h1 {
  letter-spacing: -.045em;
  line-height: 1.06;
}

/* Editorial book shelf: covers lead, copy follows, actions align at the foot. */
.km-book-grid { align-items: stretch; }
.km-book {
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  box-shadow: 0 22px 55px rgba(16,44,48,.09);
}
.km-book-cover {
  width: 100%;
  height: clamp(260px, 24vw, 390px);
  object-fit: cover;
  object-position: center top;
  background: #d9d2c7;
}
.km-book > .km-card-tag { margin: 30px 32px 0; }
.km-book > h3 { margin: 34px 32px 18px; }
.km-book > p { margin: 0 32px; }
.km-book > .km-actions {
  margin: auto 32px 32px;
  padding-top: 30px;
}
.km-book .km-button { width: 100%; }
.km-book:nth-child(3) {
  box-shadow: inset 0 0 0 1px rgba(193,122,75,.32), 0 22px 55px rgba(0,0,0,.14);
}

@media (max-width: 1050px) {
  .km-book-cover { height: clamp(280px, 48vw, 430px); }
}

@media (max-width: 700px) {
  .km-book-cover { height: min(112vw, 470px); }
  .km-book > .km-card-tag { margin: 26px 26px 0; }
  .km-book > h3 { margin: 30px 26px 16px; }
  .km-book > p { margin-inline: 26px; }
  .km-book > .km-actions { margin: auto 26px 26px; }
}

.km-quote blockquote > span { display: block; }
.km-quote blockquote > .km-keep-together { white-space: nowrap; }
.km-heading-line { display: block; }
.km-heading-line.km-keep-together { white-space: nowrap; }
.km-lead-wide { width: 100%; max-width: none; white-space: nowrap; }
.km-contact-hero .km-inner { max-width: 1480px; }
.km-contact-topics { margin-top: 34px; }
.km-contact-topics li { grid-template-columns: 42px 1fr; padding: 18px 0; }
.km-contact-topics span { font-size: 17px; }

/* Footer behaves as one composed signature, not three floating fragments. */
.km-footer {
  grid-template-columns: minmax(320px,1.25fr) minmax(240px,.9fr) minmax(180px,.55fr);
  align-items: start;
  gap: clamp(34px,5vw,82px);
}
.km-footer > div:not(.km-footer-bottom) { min-width: 0; }
.km-footer > div:first-child {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 18px;
  row-gap: 4px;
}
.km-footer > div:first-child .km-monogram { grid-row: 1 / 3; }
.km-footer > div:first-child h2 { margin: 0; line-height: 1.05; }
.km-footer > div:first-child p { grid-column: 2; }
.km-footer > div:nth-child(2),
.km-footer > div:nth-child(3) {
  padding-left: clamp(22px,3vw,42px);
  border-left: 1px solid rgba(255,255,255,.18);
}
.km-footer > div:nth-child(2)::before,
.km-footer > div:nth-child(3)::before {
  display: block;
  margin-bottom: 18px;
  color: #e4b18b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.km-footer > div:nth-child(2)::before { content: "Izdvojeno"; }
.km-footer > div:nth-child(3)::before { content: "Navigacija"; }
.km-footer-links { gap: 10px; }
.km-footer-featured {
  display: grid;
  gap: 10px;
}
.km-footer-featured a,
.km-footer-links a { width: fit-content; }
.km-footer-bottom {
  justify-content: space-between;
  margin-top: 18px;
}

@media (max-width: 1050px) {
  .km-footer { grid-template-columns: 1fr 1fr; }
  .km-footer > div:nth-child(3) { grid-column: 2; }
}

@media (max-width: 700px) {
  .km-footer { grid-template-columns: 1fr; gap: 34px; }
  .km-footer > div:nth-child(2),
  .km-footer > div:nth-child(3) {
    grid-column: 1;
    padding: 26px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.18);
  }
  .km-footer-bottom { justify-content: flex-start; margin-top: 4px; }
  .km-lead-wide { white-space: normal; }
}

/* Approved VIKTOR Business OS mark on the dedicated product page only. */
.km-viktor-lockup {
  display: block;
  width: min(100%, 380px);
  height: auto;
  margin: 0 0 30px;
}

@media (max-width: 640px) {
  .km-viktor-lockup {
    width: min(100%, 300px);
    margin-bottom: 24px;
  }
}
