:root {
  --narandzasta: #FD5E03;
  --narandzasta-tamna: #C24100;
  --espresso: #241C16;
  --espresso-2: #322821;
  --krem: #FDF7F1;
  --pijesak: #F3EADF;
  --siva: #6B5F55;
  --siva-tamni: #BFB2A5;
  --bosiljak: #2F7D4A;
  --senf: #FFC23A;
  --naslov: "Baloo 2", system-ui, sans-serif;
  --tekst: "Nunito", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--krem);
  color: var(--espresso);
  font: 400 18px/1.55 var(--tekst);
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3 { font-family: var(--naslov); font-weight: 800; line-height: 1.08; margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.75rem, 7vw, 5rem); letter-spacing: -.01em; }
h2 { font-size: clamp(2rem, 4.4vw, 3.25rem); }
h3 { font-size: 1.5rem; line-height: 1.2; }
p { margin: 0; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--espresso); outline-offset: 3px; border-radius: 6px; }

.wrap { width: min(1120px, 100% - 40px); margin-inline: auto; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 16px; top: 16px; background: var(--espresso); color: var(--krem); padding: 8px 14px; border-radius: 10px; z-index: 2; }

.top { display: flex; align-items: center; justify-content: space-between; padding-block: 22px; }
.logo { width: clamp(150px, 16vw, 180px); }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 54px; padding: 10px 28px;
  background: var(--narandzasta); color: var(--espresso);
  border-radius: 18px;
  font: 700 1.2rem/1.1 var(--naslov); text-decoration: none;
  transition: background-color .15s ease, transform .15s ease;
}
.btn:hover { background: #ff7424; transform: translateY(-1px); }
.btn-small { min-height: 44px; padding: 8px 20px; font-size: 1.05rem; border-radius: 14px; }
.link { font-weight: 800; color: var(--narandzasta-tamna); text-underline-offset: 4px; }
.link:hover { color: var(--espresso); }
.link-light { color: var(--senf); }
.link-light:hover { color: var(--krem); }
.lead { font-size: clamp(1.15rem, 2vw, 1.35rem); max-width: 34em; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 30px; }

/* Uvod */
.hero {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  align-items: center; gap: 56px;
  padding-block: 40px 88px;
}
.hero .lead { margin-top: 22px; }

.phone {
  justify-self: center;
  width: min(330px, 100%);
  padding: 11px;
  background: var(--espresso);
  border-radius: 46px;
  rotate: 2deg;
  box-shadow: 0 30px 60px -28px rgba(36, 28, 22, .55);
}
.screen { background: var(--krem); border-radius: 36px; padding: 30px 16px 22px; }
.hello { font: 800 1.5rem/1.1 var(--naslov); }
.hello-sub { color: var(--siva); font-size: .95rem; margin-top: 2px; }
.days { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 16px 0; padding: 0; font-size: .85rem; text-align: center; }
.days li { background: #fff; border-radius: 12px; padding: 7px 0; line-height: 1.2; }
.days b { display: block; font-size: .72rem; font-weight: 700; color: var(--siva); }
.days .on { background: var(--espresso); color: var(--krem); }
.days .on b { color: var(--siva-tamni); }
.dish { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border-radius: 18px; padding: 12px 12px 12px 14px; margin-top: 8px; }
.dish strong { display: block; font: 700 1rem/1.2 var(--naslov); }
.dish span { font-size: .8rem; color: var(--siva); }
.dish .posno { color: var(--bosiljak); font-weight: 700; }
.dish .pill { flex: none; background: var(--narandzasta); color: var(--espresso); border-radius: 12px; padding: 7px 11px; font: 700 .85rem/1.1 var(--naslov); }

/* Koraci */
.steps { background: var(--narandzasta); padding-block: 72px; }
.step-list { list-style: none; counter-reset: k; display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin: 38px 0 0; padding: 0; }
.step-list li { counter-increment: k; border-top: 3px solid var(--espresso); padding-top: 14px; }
.step-list li::before { content: counter(k); display: block; font: 800 3rem/1 var(--naslov); margin-bottom: 8px; }
.step-list p { margin-top: 8px; font-weight: 600; }

/* Firma */
.firm { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 56px; padding-block: 88px; }
.firm-head p { margin-top: 16px; color: var(--siva); }
.facts { margin: 0; }
.facts > div { padding: 20px 0; border-bottom: 1px solid #E3D6C7; }
.facts > div:first-child { padding-top: 4px; }
.facts dt { font: 700 1.3rem/1.2 var(--naslov); }
.facts dd { margin: 4px 0 0; color: var(--siva); }

/* Njupko */
.njupko { background: var(--espresso); color: var(--krem); }
.njupko-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: 56px; }
.njupko img {
  align-self: end;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.njupko-row > div { padding-block: 48px; }
.njupko p { margin-block: 16px 18px; color: var(--siva-tamni); }

/* Kontakt */
.contact { padding-block: 88px 96px; }
.contact .lead { margin-top: 16px; }

.foot { background: var(--pijesak); font-size: .92rem; color: var(--siva); }
.foot-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 28px; padding-block: 24px; }
.foot strong { color: var(--espresso); }

@media (max-width: 860px) {
  body { font-size: 17px; }
  .wrap { width: calc(100% - 32px); }
  .hero { grid-template-columns: 1fr; gap: 44px; padding-block: 16px 64px; }
  .step-list { grid-template-columns: 1fr; gap: 26px; }
  .steps { padding-block: 56px; }
  .firm { grid-template-columns: 1fr; gap: 28px; padding-block: 64px; }
  .njupko-row { grid-template-columns: 1fr; gap: 0; }
  .njupko-row > div { order: -1; padding-block: 56px 28px; }
  .njupko img { width: min(380px, 100%); margin-inline: auto; }
  .contact { padding-block: 64px 72px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn { transition: none; }
  .btn:hover { transform: none; }
}
