<!DOCTYPE html>

<html lang="hr">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Sportsko društvo Kočerin — Ulaganje u sportsku infrastrukturu</title>

<meta name="description" content="Sportsko društvo Kočerin ulaže u razvoj i izgradnju sportske infrastrukture, igrališta, dvorana i prostora od značaja za lokalnu zajednicu.">


<!-- Google Fonts: Space Grotesk for display, Inter for body text -->

<link rel="preconnect" href="https://fonts.googleapis.com">

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">


<style>

  /* ============================================

     DESIGN TOKENS

     A sport-field motif runs through the site:

     center-circle + halfway-line marks are used

     as section dividers, echoing pitch markings.

     ============================================ */

  :root{

    --bg-0: #070f1e;        /* deepest background */

    --bg-1: #0c1830;        /* panel / card background */

    --bg-2: #122346;        /* raised panel background */

    --line: rgba(139, 164, 204, 0.16);


    --blue-500: #2f80ed;    /* primary accent */

    --blue-400: #5b9bf5;

    --blue-300: #8fc1ff;

    --blue-glow: rgba(47, 128, 237, 0.35);


    --white: #f4f8fd;

    --muted: #92a4c2;

    --muted-dim: #64789c;


    --radius-lg: 20px;

    --radius-md: 14px;

    --radius-sm: 8px;


    --shadow-soft: 0 20px 60px -20px rgba(0, 0, 0, 0.6);

    --ease: cubic-bezier(0.22, 1, 0.36, 1);

  }


  *,*::before,*::after{ box-sizing: border-box; }

  html{ scroll-behavior: smooth; }


  body{

    margin: 0;

    background: var(--bg-0);

    color: var(--white);

    font-family: 'Inter', system-ui, sans-serif;

    line-height: 1.6;

    -webkit-font-smoothing: antialiased;

  }


  h1,h2,h3,h4{

    font-family: 'Space Grotesk', 'Inter', sans-serif;

    font-weight: 700;

    line-height: 1.15;

    margin: 0 0 0.5em 0;

    letter-spacing: -0.01em;

  }


  p{ margin: 0 0 1em 0; color: var(--muted); }


  a{ color: inherit; text-decoration: none; }


  img{ max-width: 100%; display: block; }


  ::selection{ background: var(--blue-500); color: var(--white); }


  /* Focus visibility for keyboard users */

  a:focus-visible, button:focus-visible{

    outline: 2px solid var(--blue-300);

    outline-offset: 3px;

    border-radius: 4px;

  }


  .container{

    max-width: 1140px;

    margin: 0 auto;

    padding: 0 24px;

  }


  /* A small reusable "pitch mark" divider — a line with a

     hollow center circle, evoking a halfway line on a field. */

  .pitch-divider{

    display:flex;

    align-items:center;

    gap: 14px;

    margin: 0 0 28px 0;

    width: 100%;

  }

  .pitch-divider::before,

  .pitch-divider::after{

    content:'';

    flex:1;

    height:1px;

    background: linear-gradient(90deg, transparent, var(--line), transparent);

  }

  .pitch-divider .dot{

    width: 14px; height: 14px;

    border: 2px solid var(--blue-400);

    border-radius: 50%;

    flex-shrink: 0;

  }


  .eyebrow{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-family:'Space Grotesk', sans-serif;

    font-size: 0.78rem;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--blue-300);

    margin-bottom: 14px;

  }

  .eyebrow::before{

    content:'';

    width: 8px; height: 8px;

    background: var(--blue-400);

    border-radius: 50%;

    box-shadow: 0 0 12px var(--blue-glow);

  }


  /* ============================================

     NAVIGATION — sticky, glass panel

     ============================================ */

  header.site-nav{

    position: sticky;

    top: 0;

    z-index: 100;

    backdrop-filter: blur(14px) saturate(140%);

    -webkit-backdrop-filter: blur(14px) saturate(140%);

    background: rgba(7, 15, 30, 0.78);

    border-bottom: 1px solid var(--line);

  }


  .nav-inner{

    max-width: 1140px;

    margin: 0 auto;

    padding: 16px 24px;

    display:flex;

    align-items:center;

    justify-content:space-between;

  }


  .brand{

    display:flex;

    align-items:center;

    gap:12px;

    font-family:'Space Grotesk', sans-serif;

    font-weight:700;

    font-size: 1.08rem;

    letter-spacing: -0.01em;

    cursor:pointer;

  }

  .brand .mark{

    width: 38px; height: 38px;

    border-radius: 10px;

    background: linear-gradient(145deg, var(--blue-500), #1c5fc4);

    display:flex; align-items:center; justify-content:center;

    box-shadow: 0 6px 20px -6px var(--blue-glow);

    flex-shrink:0;

  }

  .brand .mark svg{ width: 20px; height: 20px; }

  .brand small{

    display:block;

    font-family:'Inter', sans-serif;

    font-weight: 500;

    font-size: 0.68rem;

    color: var(--muted-dim);

    letter-spacing: 0.02em;

  }


  nav.nav-links{

    display:flex;

    align-items:center;

    gap: 6px;

  }

  nav.nav-links a{

    position: relative;

    padding: 9px 18px;

    font-size: 0.94rem;

    font-weight: 500;

    color: var(--muted);

    border-radius: 999px;

    transition: color 0.25s var(--ease), background 0.25s var(--ease);

  }

  nav.nav-links a:hover{

    color: var(--white);

    background: rgba(255,255,255,0.05);

  }

  nav.nav-links a.active{

    color: var(--white);

    background: rgba(47, 128, 237, 0.16);

  }

  nav.nav-links a.active::after{

    content:'';

    position:absolute;

    left: 18px; right: 18px; bottom: 4px;

    height: 2px;

    background: var(--blue-400);

    border-radius: 2px;

  }


  /* Hamburger — mobile only */

  .menu-toggle{

    display:none;

    background:none;

    border: 1px solid var(--line);

    border-radius: 10px;

    width: 42px; height: 42px;

    cursor:pointer;

    align-items:center;

    justify-content:center;

    flex-direction:column;

    gap: 5px;

  }

  .menu-toggle span{

    width: 18px; height: 2px;

    background: var(--white);

    border-radius: 2px;

    transition: transform 0.25s var(--ease), opacity 0.25s var(--ease);

  }

  .menu-toggle.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }

  .menu-toggle.open span:nth-child(2){ opacity: 0; }

  .menu-toggle.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }


  /* ============================================

     PAGES / SECTIONS

     ============================================ */

  .page{

    display: none;

    animation: fadeUp 0.55s var(--ease);

  }

  .page.active{ display: block; }


  @keyframes fadeUp{

    from{ opacity: 0; transform: translateY(14px); }

    to{ opacity: 1; transform: translateY(0); }

  }


  @media (prefers-reduced-motion: reduce){

    html{ scroll-behavior: auto; }

    .page{ animation: none; }

    *{ transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }

  }


  /* ---------- HOME / HERO ---------- */

  .hero{

    position: relative;

    min-height: 86vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    border-bottom: 1px solid var(--line);

  }

  .hero-bg{

    position:absolute; inset:0;

    background-image:

      linear-gradient(180deg, rgba(7,15,30,0.55) 0%, rgba(7,15,30,0.86) 62%, var(--bg-0) 100%),

      linear-gradient(100deg, rgba(7,15,30,0.92) 15%, rgba(7,15,30,0.35) 60%),

      url('https://images.unsplash.com/photo-1508098682722-e99c43a406b2?w=1600&fit=crop&q=80');

    background-size: cover;

    background-position: center;

    z-index: 0;

  }

  .hero-content{

    position:relative;

    z-index: 1;

    max-width: 1140px;

    margin: 0 auto;

    padding: 100px 24px 80px;

    width: 100%;

  }

  .hero-content .lede{

    max-width: 620px;

  }

  .hero h1{

    font-size: clamp(2.2rem, 5vw, 3.6rem);

    margin-bottom: 0.4em;

  }

  .hero h1 .accent{ color: var(--blue-300); }

  .hero p.desc{

    font-size: 1.08rem;

    max-width: 520px;

    color: #c3d0e6;

  }


  .cta-row{ display:flex; gap: 16px; flex-wrap: wrap; margin-top: 32px; }


  .btn{

    display:inline-flex;

    align-items:center;

    gap: 10px;

    padding: 14px 28px;

    border-radius: 999px;

    font-weight: 600;

    font-size: 0.96rem;

    font-family: 'Inter', sans-serif;

    border: 1px solid transparent;

    cursor: pointer;

    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background 0.25s var(--ease), border-color 0.25s var(--ease);

  }

  .btn-primary{

    background: linear-gradient(135deg, var(--blue-500), #1c5fc4);

    color: var(--white);

    box-shadow: 0 12px 30px -10px var(--blue-glow);

  }

  .btn-primary:hover{

    transform: translateY(-2px);

    box-shadow: 0 16px 38px -8px var(--blue-glow);

  }

  .btn-ghost{

    background: rgba(255,255,255,0.03);

    border-color: var(--line);

    color: var(--white);

  }

  .btn-ghost:hover{

    background: rgba(255,255,255,0.07);

    border-color: var(--blue-400);

    transform: translateY(-2px);

  }


  /* Stat strip under hero */

  .stat-strip{

    padding: 44px 0;

    border-bottom: 1px solid var(--line);

  }

  .stat-grid{

    display:grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 24px;

  }

  .stat{

    text-align:center;

    padding: 18px 12px;

  }

  .stat .num{

    font-family:'Space Grotesk', sans-serif;

    font-size: clamp(1.8rem, 3vw, 2.4rem);

    font-weight: 700;

    color: var(--blue-300);

  }

  .stat .label{

    color: var(--muted);

    font-size: 0.88rem;

    margin-top: 4px;

  }


  /* Generic section spacing */

  section.block{

    padding: 90px 0;

  }

  section.block.tight{ padding: 70px 0; }


  .section-head{

    max-width: 640px;

    margin-bottom: 46px;

  }

  .section-head h2{

    font-size: clamp(1.7rem, 3.4vw, 2.4rem);

  }


  /* Feature / about grid */

  .grid-2{

    display:grid;

    grid-template-columns: 1.1fr 0.9fr;

    gap: 56px;

    align-items:start;

  }


  .icon-tile{

    width: 52px; height:52px;

    border-radius: 14px;

    background: var(--bg-2);

    border: 1px solid var(--line);

    display:flex; align-items:center; justify-content:center;

    margin-bottom: 18px;

    flex-shrink:0;

  }

  .icon-tile svg{ width: 26px; height: 26px; color: var(--blue-400); }


  .value-list{

    display:flex;

    flex-direction:column;

    gap: 26px;

  }

  .value-item{

    display:flex;

    gap: 18px;

    padding: 22px;

    background: var(--bg-1);

    border: 1px solid var(--line);

    border-radius: var(--radius-md);

    transition: border-color 0.25s var(--ease), transform 0.25s var(--ease);

  }

  .value-item:hover{

    border-color: rgba(91,155,245,0.4);

    transform: translateY(-3px);

  }

  .value-item .emoji{ font-size: 1.6rem; line-height: 1; }

  .value-item h4{ font-size: 1.02rem; margin-bottom: 4px; }

  .value-item p{ margin: 0; font-size: 0.92rem; }


  .about-card{

    background: var(--bg-1);

    border: 1px solid var(--line);

    border-radius: var(--radius-lg);

    padding: 36px;

    box-shadow: var(--shadow-soft);

  }

  .about-card h3{ font-size: 1.3rem; }

  .about-card .badge-row{

    display:flex; flex-wrap:wrap; gap: 10px;

    margin-top: 22px;

  }

  .badge{

    font-size: 0.82rem;

    padding: 7px 14px;

    border-radius: 999px;

    background: rgba(47,128,237,0.12);

    border: 1px solid rgba(47,128,237,0.3);

    color: var(--blue-300);

  }


  /* Timeline (About page) — order carries real meaning here:

     it's the organisation's actual course of action */

  .timeline{

    display:flex;

    flex-direction:column;

    gap: 0;

    margin-top: 10px;

  }

  .tl-item{

    display:grid;

    grid-template-columns: 30px 1fr;

    gap: 20px;

  }

  .tl-rail{

    display:flex;

    flex-direction:column;

    align-items:center;

  }

  .tl-dot{

    width: 12px; height:12px;

    border-radius:50%;

    background: var(--blue-400);

    box-shadow: 0 0 0 5px rgba(47,128,237,0.15);

    margin-top: 6px;

    flex-shrink:0;

  }

  .tl-line{

    width: 2px;

    flex:1;

    background: var(--line);

    margin: 4px 0;

  }

  .tl-item:last-child .tl-line{ display:none; }

  .tl-content{ padding-bottom: 34px; }

  .tl-content h4{ font-size: 1.04rem; margin-bottom: 6px; }

  .tl-content p{ font-size: 0.94rem; }


  /* ---------- SERVICES ---------- */

  .services-grid{

    display:grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 24px;

  }

  .service-card{

    background: var(--bg-1);

    border: 1px solid var(--line);

    border-radius: var(--radius-lg);

    padding: 32px;

    position: relative;

    overflow:hidden;

    transition: transform 0.3s var(--ease), border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);

  }

  .service-card::before{

    content:'';

    position:absolute;

    top: -60px; right: -60px;

    width: 160px; height: 160px;

    border-radius: 50%;

    background: radial-gradient(circle, var(--blue-glow), transparent 70%);

    opacity: 0;

    transition: opacity 0.3s var(--ease);

  }

  .service-card:hover{

    transform: translateY(-6px);

    border-color: rgba(91,155,245,0.45);

    box-shadow: var(--shadow-soft);

  }

  .service-card:hover::before{ opacity: 1; }

  .service-card .icon-tile{ background: var(--bg-2); }

  .service-card h3{ font-size: 1.14rem; margin-bottom: 10px; }

  .service-card p{ font-size: 0.94rem; margin-bottom: 0; }

  .service-card .tag{

    display:inline-block;

    margin-top: 16px;

    font-size: 0.76rem;

    letter-spacing: 0.06em;

    text-transform: uppercase;

    color: var(--muted-dim);

  }


  .process-strip{

    margin-top: 60px;

    background: var(--bg-1);

    border: 1px solid var(--line);

    border-radius: var(--radius-lg);

    padding: 36px;

  }

  .process-strip .pgrid{

    display:grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

    margin-top: 22px;

  }

  .pstep{ text-align:left; }

  .pstep .n{

    font-family:'Space Grotesk', sans-serif;

    color: var(--blue-400);

    font-weight: 700;

    font-size: 0.9rem;

    margin-bottom: 6px;

  }

  .pstep h4{ font-size: 0.98rem; margin-bottom: 4px; }

  .pstep p{ font-size: 0.86rem; margin: 0; }


  /* ---------- CONTACT ---------- */

  .contact-grid{

    display:grid;

    grid-template-columns: 1fr 1fr;

    gap: 24px;

  }

  .contact-card{

    background: var(--bg-1);

    border: 1px solid var(--line);

    border-radius: var(--radius-lg);

    padding: 32px;

    display:flex;

    flex-direction:column;

    gap: 16px;

    transition: border-color 0.25s var(--ease), transform 0.25s var(--ease);

  }

  .contact-card:hover{

    border-color: rgba(91,155,245,0.4);

    transform: translateY(-3px);

  }

  .contact-card h3{ font-size: 1.1rem; }

  .contact-card .value{

    font-family:'Space Grotesk', sans-serif;

    font-size: 1.15rem;

    color: var(--white);

  }

  .contact-full{

    grid-column: 1 / -1;

    background: linear-gradient(135deg, rgba(47,128,237,0.14), rgba(47,128,237,0.02));

    border: 1px solid rgba(91,155,245,0.28);

    border-radius: var(--radius-lg);

    padding: 40px;

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    justify-content:space-between;

    gap: 24px;

  }

  .contact-full h3{ font-size: 1.4rem; margin-bottom: 6px; }

  .contact-full p{ margin: 0; max-width: 460px; }

  .contact-full .cta-row{ margin-top: 0; }


  /* ============================================

     FOOTER — always visible

     ============================================ */

  footer.site-footer{

    border-top: 1px solid var(--line);

    background: var(--bg-1);

    padding: 48px 0 28px;

  }

  .footer-grid{

    display:grid;

    grid-template-columns: 1.4fr 1fr 1fr;

    gap: 40px;

    margin-bottom: 36px;

  }

  .footer-brand{

    display:flex; align-items:center; gap: 12px;

    font-family:'Space Grotesk', sans-serif;

    font-weight: 700;

    margin-bottom: 12px;

  }

  .footer-brand .mark{

    width: 34px; height: 34px;

    border-radius: 9px;

    background: linear-gradient(145deg, var(--blue-500), #1c5fc4);

    display:flex; align-items:center; justify-content:center;

    flex-shrink:0;

  }

  .footer-brand .mark svg{ width: 18px; height: 18px; }

  footer h5{

    font-family:'Space Grotesk', sans-serif;

    font-size: 0.86rem;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    color: var(--muted-dim);

    margin-bottom: 16px;

  }

  footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap: 11px; }

  footer ul li a{

    color: var(--muted);

    font-size: 0.94rem;

    transition: color 0.2s var(--ease), padding-left 0.2s var(--ease);

  }

  footer ul li a:hover{ color: var(--blue-300); padding-left: 4px; }

  .footer-bottom{

    border-top: 1px solid var(--line);

    padding-top: 22px;

    display:flex;

    justify-content:space-between;

    flex-wrap: wrap;

    gap: 12px;

    font-size: 0.85rem;

    color: var(--muted-dim);

  }


  /* ============================================

     RESPONSIVE

     ============================================ */

  @media (max-width: 860px){

    .grid-2{ grid-template-columns: 1fr; gap: 36px; }

    .services-grid{ grid-template-columns: 1fr; }

    .contact-grid{ grid-template-columns: 1fr; }

    .footer-grid{ grid-template-columns: 1fr 1fr; }

    .stat-grid{ grid-template-columns: 1fr; gap: 10px; }

    .process-strip .pgrid{ grid-template-columns: 1fr 1fr; }

  }


  @media (max-width: 720px){

    nav.nav-links{

      position: fixed;

      top: 73px; left: 0; right: 0;

      flex-direction:column;

      align-items: stretch;

      background: rgba(7,15,30,0.98);

      border-bottom: 1px solid var(--line);

      padding: 10px 20px 20px;

      gap: 4px;

      transform: translateY(-130%);

      opacity: 0;

      transition: transform 0.3s var(--ease), opacity 0.3s var(--ease);

      z-index: 99;

    }

    nav.nav-links.open{ transform: translateY(0); opacity: 1; }

    nav.nav-links a{ padding: 13px 16px; }

    .menu-toggle{ display:flex; }

    .hero-content{ padding: 70px 20px 60px; }

    .contact-full{ flex-direction:column; align-items:flex-start; }

    .footer-grid{ grid-template-columns: 1fr; gap: 28px; }

    .footer-bottom{ flex-direction:column; }

  }


  @media (max-width: 480px){

    .process-strip .pgrid{ grid-template-columns: 1fr; }

    section.block{ padding: 64px 0; }

  }

</style>

</head>

<body>


  <!-- ============================================

       NAVIGATION

       ============================================ -->

  <header class="site-nav">

    <div class="nav-inner">

      <div class="brand" data-nav="home" role="button" tabindex="0" aria-label="Početna">

        <span class="mark">

          <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">

            <circle cx="12" cy="12" r="9" stroke="white" stroke-width="1.6"/>

            <path d="M3 12h18M12 3v18M6.5 6.5c2 2 9 2 11 0M6.5 17.5c2-2 9-2 11 0" stroke="white" stroke-width="1.3"/>

          </svg>

        </span>

        <span>

          SD Kočerin

          <small>Sportsko društvo</small>

        </span>

      </div>


      <button class="menu-toggle" id="menuToggle" aria-label="Otvori izbornik" aria-expanded="false">

        <span></span><span></span><span></span>

      </button>


      <nav class="nav-links" id="navLinks">

        <a href="/" data-nav="home">Početna</a>

        <a href="/about" data-nav="about">O nama</a>

        <a href="/services" data-nav="services">Usluge</a>

        <a href="/contact" data-nav="contact">Kontakt</a>

      </nav>

    </div>

  </header>


  <main>


    <!-- ============================================

         HOME PAGE

         ============================================ -->

    <section class="page" id="page-home" data-page="home">


      <div class="hero">

        <div class="hero-bg" aria-hidden="true"></div>

        <div class="hero-content">

          <div class="lede">

            <div class="eyebrow">Kočerin · Neprofitno udruženje</div>

            <h1>Gradimo teren za <span class="accent">sljedeću generaciju</span> sportaša</h1>

            <p class="desc">

              Sportsko društvo Kočerin ulaže u razvoj i izgradnju sportske infrastrukture —

              igrališta, dvorana i drugih prostora koji zajednici trebaju da bi rasla, igrala

              i pobjeđivala zajedno.

            </p>

            <div class="cta-row">

              <a href="/contact" class="btn btn-primary" data-nav="contact">

                Kontaktirajte nas

                <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>

              </a>

              <a href="/services" class="btn btn-ghost" data-nav="services">Pogledajte usluge</a>

            </div>

          </div>

        </div>

      </div>


      <div class="stat-strip">

        <div class="container">

          <div class="stat-grid">

            <div class="stat">

              <div class="num">100%</div>

              <div class="label">Lokalno vođena inicijativa</div>

            </div>

            <div class="stat">

              <div class="num">Kočerin</div>

              <div class="label">Naše područje djelovanja</div>

            </div>

            <div class="stat">

              <div class="num">01</div>

              <div class="label">Cilj: zajednica koja se kreće</div>

            </div>

          </div>

        </div>

      </div>


      <section class="block">

        <div class="container">

          <div class="pitch-divider"><div class="dot"></div></div>

          <div class="grid-2">

            <div>

              <div class="section-head">

                <div class="eyebrow">Zašto postojimo</div>

                <h2>Sportska infrastruktura nije luksuz — ona je temelj zajednice</h2>

              </div>

              <p>

                Vjerujemo da svako naselje zaslužuje prostor u kojem djeca, mladi i odrasli

                mogu trenirati, igrati se i graditi zdrave navike. Zato ulažemo vrijeme,

                znanje i resurse u projekte koji ostaju iza nas generacijama.

              </p>

              <div class="badge-row" style="margin-top:8px;">

                <span class="badge">🏗️ Izgradnja</span>

                <span class="badge">⚽ Igrališta</span>

                <span class="badge">🏟️ Dvorane</span>

                <span class="badge">🤝 Zajednica</span>

              </div>

            </div>


            <div class="value-list">

              <div class="value-item">

                <div class="emoji">🎯</div>

                <div>

                  <h4>Jasan fokus</h4>

                  <p>Svaki projekt rješava stvarnu, prepoznatu potrebu lokalne zajednice u Kočerinu.</p>

                </div>

              </div>

              <div class="value-item">

                <div class="emoji">🧱</div>

                <div>

                  <h4>Dugoročna gradnja</h4>

                  <p>Infrastruktura koja traje — od temelja do održavanja, gradimo za desetljeća.</p>

                </div>

              </div>

              <div class="value-item">

                <div class="emoji">🌱</div>

                <div>

                  <h4>Razvoj mladih</h4>

                  <p>Prostor za trening i igru koji potiče zdravlje, disciplinu i timski duh.</p>

                </div>

              </div>

            </div>

          </div>

        </div>

      </section>

    </section>


    <!-- ============================================

         ABOUT PAGE

         ============================================ -->

    <section class="page" id="page-about" data-page="about">

      <section class="block" style="padding-top:64px;">

        <div class="container">

          <div class="section-head">

            <div class="eyebrow">O nama</div>

            <h2>Udruženje posvećeno sportskom razvoju Kočerina</h2>

            <p>

              Sportsko društvo Kočerin je neprofitna organizacija koja ulaže u razvoj i

              izgradnju sportske infrastrukture — igrališta, dvorana i drugih prostora.

              Naš rad usmjeren je na razvoj sportskih projekata od značaja za lokalnu zajednicu.

            </p>

          </div>


          <div class="grid-2">

            <div class="about-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><path d="M12 21c-4.5-3.5-8-7-8-11a8 8 0 0116 0c0 4-3.5 7.5-8 11z" stroke="currentColor" stroke-width="1.6"/><circle cx="12" cy="10" r="2.6" stroke="currentColor" stroke-width="1.6"/></svg>

              </div>

              <h3>Misija</h3>

              <p>

                Osigurati da svaka generacija u Kočerinu ima pristup kvalitetnom sportskom

                prostoru — bez obzira radi li se o igralištu za najmlađe ili dvorani za

                takmičarski sport.

              </p>

              <div class="badge-row">

                <span class="badge">Infrastruktura</span>

                <span class="badge">Zajednica</span>

                <span class="badge">Održivost</span>

              </div>

            </div>


            <div>

              <h3 style="font-size:1.2rem; margin-bottom:22px;">Kako djelujemo</h3>

              <div class="timeline">

                <div class="tl-item">

                  <div class="tl-rail"><div class="tl-dot"></div><div class="tl-line"></div></div>

                  <div class="tl-content">

                    <h4>Prepoznavanje potrebe</h4>

                    <p>Slušamo zajednicu i utvrđujemo koji sportski prostor Kočerinu najviše nedostaje.</p>

                  </div>

                </div>

                <div class="tl-item">

                  <div class="tl-rail"><div class="tl-dot"></div><div class="tl-line"></div></div>

                  <div class="tl-content">

                    <h4>Planiranje projekta</h4>

                    <p>Definiramo opseg, lokaciju i resurse potrebne za izgradnju ili razvoj prostora.</p>

                  </div>

                </div>

                <div class="tl-item">

                  <div class="tl-rail"><div class="tl-dot"></div><div class="tl-line"></div></div>

                  <div class="tl-content">

                    <h4>Ulaganje i izgradnja</h4>

                    <p>Koordiniramo ulaganja i radove na terenu, igralištu ili dvorani do njihovog dovršetka.</p>

                  </div>

                </div>

                <div class="tl-item">

                  <div class="tl-rail"><div class="tl-dot"></div></div>

                  <div class="tl-content">

                    <h4>Predaja zajednici</h4>

                    <p>Gotov prostor postaje dio svakodnevnog života — otvoren djeci, klubovima i mještanima.</p>

                  </div>

                </div>

              </div>

            </div>

          </div>

        </div>

      </section>

    </section>


    <!-- ============================================

         SERVICES PAGE

         ============================================ -->

    <section class="page" id="page-services" data-page="services">

      <section class="block" style="padding-top:64px;">

        <div class="container">

          <div class="section-head">

            <div class="eyebrow">Usluge</div>

            <h2>Od ideje do gotovog sportskog prostora</h2>

            <p>Fokusirani smo na ulaganje, razvoj i izgradnju sportske infrastrukture prilagođene stvarnim potrebama Kočerina.</p>

          </div>


          <div class="services-grid">

            <div class="service-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><path d="M3 21h18M5 21V9l7-5 7 5v12M9 21v-6h6v6" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/></svg>

              </div>

              <h3>Ulaganje u infrastrukturu</h3>

              <p>Usmjeravamo sredstva i partnerstva u projekte sportske infrastrukture koji imaju najveći učinak na zajednicu.</p>

              <span class="tag">Ulaganje</span>

            </div>


            <div class="service-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><rect x="3" y="6" width="18" height="12" rx="2" stroke="currentColor" stroke-width="1.6"/><circle cx="12" cy="12" r="2.6" stroke="currentColor" stroke-width="1.6"/><path d="M3 9h2M19 9h2M3 15h2M19 15h2" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/></svg>

              </div>

              <h3>Izgradnja igrališta</h3>

              <p>Planiramo i gradimo dječja i sportska igrališta prilagođena potrebama svih uzrasta u Kočerinu.</p>

              <span class="tag">Igrališta</span>

            </div>


            <div class="service-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><path d="M4 20V10l8-6 8 6v10" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><path d="M9 20v-6h6v6" stroke="currentColor" stroke-width="1.6"/><path d="M4 20h16" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/></svg>

              </div>

              <h3>Razvoj sportskih dvorana</h3>

              <p>Podržavamo izgradnju i obnovu dvorana koje omogućavaju trening i takmičenja tijekom cijele godine.</p>

              <span class="tag">Dvorane</span>

            </div>


            <div class="service-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><path d="M12 3v18M4 8h16M4 16h16" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.6"/></svg>

              </div>

              <h3>Sportski projekti zajednice</h3>

              <p>Razvijamo dodatne prostore i projekte od šireg značaja — od trim staza do multifunkcionalnih terena.</p>

              <span class="tag">Zajednica</span>

            </div>

          </div>


          <div class="process-strip">

            <div class="eyebrow" style="margin-bottom:0;">Naš pristup</div>

            <h3 style="font-size:1.2rem;">Kako pretvaramo prazan prostor u sportski teren</h3>

            <div class="pgrid">

              <div class="pstep">

                <div class="n">01</div>

                <h4>Procjena terena</h4>

                <p>Analiziramo lokaciju i stvarne potrebe mještana.</p>

              </div>

              <div class="pstep">

                <div class="n">02</div>

                <h4>Osiguranje resursa</h4>

                <p>Povezujemo ulaganja s konkretnim projektom.</p>

              </div>

              <div class="pstep">

                <div class="n">03</div>

                <h4>Izvođenje radova</h4>

                <p>Pratimo izgradnju od prvog do zadnjeg koraka.</p>

              </div>

              <div class="pstep">

                <div class="n">04</div>

                <h4>Otvaranje zajednici</h4>

                <p>Prostor postaje dostupan svima u Kočerinu.</p>

              </div>

            </div>

          </div>

        </div>

      </section>

    </section>


    <!-- ============================================

         CONTACT PAGE

         ============================================ -->

    <section class="page" id="page-contact" data-page="contact">

      <section class="block" style="padding-top:64px;">

        <div class="container">

          <div class="section-head">

            <div class="eyebrow">Kontakt</div>

            <h2>Razgovarajmo o vašem sportskom projektu</h2>

            <p>Javite nam se telefonom ili e-poštom — rado ćemo odgovoriti na sva pitanja o našim projektima i uslugama.</p>

          </div>


          <div class="contact-grid">

            <div class="contact-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/></svg>

              </div>

              <h3>Telefon</h3>

              <div class="value">00387-63-251-311</div>

              <p>Dostupni radnim danima za sve upite vezane uz projekte i suradnju.</p>

              <a href="tel:0038763251311" class="btn btn-primary" style="align-self:flex-start;">Nazovite nas</a>

            </div>


            <div class="contact-card">

              <div class="icon-tile">

                <svg viewBox="0 0 24 24" fill="none"><rect x="3" y="5" width="18" height="14" rx="2" stroke="currentColor" stroke-width="1.6"/><path d="M3 7l9 6 9-6" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/></svg>

              </div>

              <h3>E-pošta</h3>

              <div class="value">hmikulic@gmail.com</div>

              <p>Pošaljite nam upit, prijedlog projekta ili zahtjev za suradnju.</p>

              <a href="mailto:hmikulic@gmail.com" class="btn btn-primary" style="align-self:flex-start;">Pošaljite e-poštu</a>

            </div>


            <div class="contact-full">

              <div>

                <h3>📍 Područje djelovanja: Kočerin</h3>

                <p>Sportsko društvo Kočerin djeluje na području Kočerina, ulažući u lokalne sportske projekte i infrastrukturu od značaja za mještane.</p>

              </div>

              <div class="cta-row">

                <a href="tel:0038763251311" class="btn btn-ghost">📞 Nazovite</a>

                <a href="mailto:hmikulic@gmail.com" class="btn btn-ghost">✉️ Pišite nam</a>

              </div>

            </div>

          </div>

        </div>

      </section>

    </section>


  </main>


  <!-- ============================================

       FOOTER — always visible

       ============================================ -->

  <footer class="site-footer">

    <div class="container">

      <div class="footer-grid">

        <div>

          <div class="footer-brand">

            <span class="mark">

              <svg viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="9" stroke="white" stroke-width="1.6"/><path d="M3 12h18M12 3v18" stroke="white" stroke-width="1.3"/></svg>

            </span>

            Sportsko društvo Kočerin

          </div>

          <p style="max-width:280px; font-size:0.92rem;">

            Ulaganje, razvoj i izgradnja sportske infrastrukture, igrališta, dvorana i drugih

            prostora od značaja za zajednicu Kočerina.

          </p>

        </div>

        <div>

          <h5>Stranice</h5>

          <ul>

            <li><a href="/" data-nav="home">Početna</a></li>

            <li><a href="/about" data-nav="about">O nama</a></li>

            <li><a href="/services" data-nav="services">Usluge</a></li>

            <li><a href="/contact" data-nav="contact">Kontakt</a></li>

          </ul>

        </div>

        <div>

          <h5>Kontakt</h5>

          <ul>

            <li><a href="tel:0038763251311">📞 00387-63-251-311</a></li>

            <li><a href="mailto:hmikulic@gmail.com">✉️ hmikulic@gmail.com</a></li>

            <li><span style="color:var(--muted); font-size:0.94rem;">📍 Kočerin, BiH</span></li>

          </ul>

        </div>

      </div>

      <div class="footer-bottom">

        <span>© <span id="year"></span> Sportsko društvo Kočerin. Sva prava pridržana.</span>

        <span>Neprofitna organizacija · Kočerin</span>

      </div>

    </div>

  </footer>


<script>

(function(){

  "use strict";


  /* ============================================

     ROUTING CONFIGURATION

     Maps clean URL paths to page keys and back.

     ============================================ */

  var PAGES = ["home", "about", "services", "contact"];

  var PATH_TO_PAGE = {

    "/": "home",

    "/index.html": "home",

    "/about": "about",

    "/services": "services",

    "/contact": "contact"

  };

  var PAGE_TO_PATH = {

    home: "/",

    about: "/about",

    services: "/services",

    contact: "/contact"

  };


  var navLinksEl = document.getElementById("navLinks");

  var menuToggle = document.getElementById("menuToggle");


  /* Show a single page, hide the rest, update nav highlight. */

  function renderPage(pageKey){

    if (PAGES.indexOf(pageKey) === -1) pageKey = "home";


    PAGES.forEach(function(key){

      var section = document.getElementById("page-" + key);

      if (section) section.classList.toggle("active", key === pageKey);

    });


    // Highlight the matching nav link(s) — brand mark counts as "home"

    document.querySelectorAll("[data-nav]").forEach(function(el){

      var isMatch = el.getAttribute("data-nav") === pageKey;

      if (el.tagName === "A") el.classList.toggle("active", isMatch);

    });


    document.title = pageTitle(pageKey);

    window.scrollTo({ top: 0, behavior: "instant" in window ? "instant" : "auto" });

    closeMobileMenu();

  }


  function pageTitle(pageKey){

    var names = {

      home: "Sportsko društvo Kočerin — Početna",

      about: "O nama — Sportsko društvo Kočerin",

      services: "Usluge — Sportsko društvo Kočerin",

      contact: "Kontakt — Sportsko društvo Kočerin"

    };

    return names[pageKey] || names.home;

  }


  /* Navigate to a page: update the URL when possible (real server

     with .htaccess routing), otherwise just swap the visible section. */

  function goToPage(pageKey, addHistory){

    renderPage(pageKey);


    if (addHistory !== false){

      var path = PAGE_TO_PATH[pageKey] || "/";

      try{

        // Works on a real server where the path can be pushed safely.

        history.pushState({ page: pageKey }, "", path);

      }catch(err){

        // Local file:// preview or sandboxed environment — pushState

        // is unavailable. Silently skip URL updates; the page still

        // switches correctly via renderPage() above.

      }

    }

  }


  /* Handle back/forward browser buttons. */

  window.addEventListener("popstate", function(event){

    var pageKey = (event.state && event.state.page) || pathToPage(window.location.pathname);

    renderPage(pageKey);

  });


  /* Resolve a URL pathname to a page key, defaulting to home. */

  function pathToPage(pathname){

    if (!pathname) return "home";

    var clean = pathname.replace(/\/index\.html$/, "/").replace(/\/+$/, "") || "/";

    return PATH_TO_PAGE[clean] || "home";

  }


  /* Wire up every element carrying data-nav (nav links, buttons, brand). */

  document.querySelectorAll("[data-nav]").forEach(function(el){

    el.addEventListener("click", function(e){

      var key = el.getAttribute("data-nav");

      if (!key) return;

      e.preventDefault();

      goToPage(key, true);

    });

    // Keyboard support for the logo (role="button")

    if (el.getAttribute("role") === "button"){

      el.addEventListener("keydown", function(e){

        if (e.key === "Enter" || e.key === " "){

          e.preventDefault();

          goToPage(el.getAttribute("data-nav"), true);

        }

      });

    }

  });


  /* Mobile menu toggle */

  function closeMobileMenu(){

    navLinksEl.classList.remove("open");

    menuToggle.classList.remove("open");

    menuToggle.setAttribute("aria-expanded", "false");

  }

  menuToggle.addEventListener("click", function(){

    var isOpen = navLinksEl.classList.toggle("open");

    menuToggle.classList.toggle("open", isOpen);

    menuToggle.setAttribute("aria-expanded", String(isOpen));

  });


  /* Footer year */

  document.getElementById("year").textContent = new Date().getFullYear();


  /* ============================================

     INITIAL LOAD

     Try to match window.location.pathname (supports direct

     links like yoursite.com/about via .htaccess rewriting).

     Falls back to Home if pathname isn't readable.

     ============================================ */

  var initialPage = "home";

  try{

    initialPage = pathToPage(window.location.pathname);

  }catch(err){

    initialPage = "home";

  }

  renderPage(initialPage);


})();

</script>


</body>

</html>