/* Montserrat (SIL OFL 1.1), hostano lokalno - bez poziva prema Googleu */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/montserrat-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* boje brenda: crna #1a1a1a, narančasta #f15a24, bež #c7b299, siva #b3b3b3
   --acc je tamnija narančasta za tekst na svijetloj podlozi (kontrast) */
:root{--bg:#f5f2ed;--fg:#1a1a1a;--muted:#5f5953;--bar:#f5f2ed;--line:#ddd5ca;--acc:#c2410c;--brand:#f15a24;--beige:#c7b299;--dark:#1a1a1a;--cream:#f5f2ed;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#141414;--fg:#f5f2ed;--muted:#a9a29a;--bar:#141414;--line:#2e2e2e;--acc:#f47a4c}}
:root[data-theme="dark"]{--bg:#141414;--fg:#f5f2ed;--muted:#a9a29a;--bar:#141414;--line:#2e2e2e;--acc:#f47a4c}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Montserrat","Helvetica Neue",Arial,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bar);z-index:20}
a{color:inherit}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bar);border-bottom:1px solid var(--line);height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,48px)}
/* logo u zaglavlju: crni na svijetloj, bijeli na tamnoj temi (vidi <picture> u HTML-u) */
.logo{display:block;line-height:0;flex:none}
.logo img{height:40px;width:auto;display:block}
nav{display:flex;gap:clamp(14px,3vw,34px);align-items:center}
nav a,nav button{font:600 14px "Montserrat",Arial,sans-serif;letter-spacing:.04em;color:var(--fg);text-decoration:none;background:none;border:0;cursor:pointer;padding:8px 0;white-space:nowrap}
nav a:hover,nav button:hover{color:var(--acc)}
.dd{position:relative}
.menu{display:none;position:absolute;right:0;top:100%;margin-top:8px;background:var(--bar);border:1px solid var(--line);border-radius:12px;min-width:230px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.2)}
.menu.open{display:block}
.menu a{display:block;padding:9px 12px;border-radius:8px;font-weight:500}
.menu a:hover,.menu a[aria-current]{background:var(--line)}

.hero{height:calc(100svh - 72px);min-height:440px;position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(16px,6vw,96px);color:var(--cream);
background:linear-gradient(180deg,rgba(20,20,20,.3),rgba(20,20,20,.8)),repeating-linear-gradient(135deg,#232323 0 28px,#1d1d1d 28px 56px)}
.hero h1{margin:0;line-height:0}
.hero h1 img{width:min(100%,1000px);height:auto;display:block}
.tag{position:absolute;top:16px;right:16px;font-size:12px;background:rgba(0,0,0,.4);padding:6px 10px;border-radius:99px;letter-spacing:.02em;color:var(--cream)}

.wrap{max-width:1200px;margin:0 auto;padding:clamp(40px,7vw,88px) clamp(16px,4vw,48px)}
.wrap h2{margin:0 0 28px;font-size:clamp(14px,1.6vw,18px);font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.wrap h2 .hi{width:26px;height:26px;flex:none;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wrap h2:has(.hi){display:flex;align-items:center;gap:14px}
/* 10 kvartova = 2 reda po 5 */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.8vw,24px)}
.tile{text-decoration:none;color:var(--fg);display:block}
.ph{aspect-ratio:4/3;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;color:rgba(244,241,234,.75);font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:var(--acc);transition:transform .2s,box-shadow .2s}
.tile:hover .ph{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.25)}
.tile b{display:block;margin-top:12px;font-size:clamp(15px,1.4vw,18px);font-weight:600}
.tile small{font-size:13px}
.tile small{color:var(--muted);font-weight:500}

/* boje kvartova (tile i stranica kvarta) */
.k0{--k:#1a1a1a}.k1{--k:#c7b299}.k2{--k:#f15a24}.k3{--k:#8c8c8c}.k4{--k:#3a3a3a}
.k5{--k:#a8926f}.k6{--k:#2a2a2a}.k7{--k:#d4552a}.k8{--k:#b3b3b3}.k9{--k:#5c4f40}
.tile .ph,.mj .ph{background:var(--k,var(--acc))}

.about{border-top:1px solid var(--line)}
.about p,.prose p,.prose li{max-width:65ch;color:var(--muted);font-size:17px;line-height:1.7}
.about .wrap{text-align:center}
.about p{margin:0 auto 14px}
.about p.lead{color:var(--fg);font-size:19px}

/* uvodni tekst na stranici kvarta */
.intro{max-width:72ch;margin:0 0 clamp(40px,6vw,64px)}
.intro p{margin:0 0 14px;font-size:clamp(17px,1.6vw,19px);line-height:1.75;color:var(--fg)}
.intro p:first-child::first-letter{color:var(--brand);font-weight:800}

/* stranica kvarta */
.khero{position:relative;color:var(--cream);padding:clamp(48px,9vw,110px) clamp(16px,6vw,96px) clamp(36px,6vw,72px);
background:linear-gradient(180deg,rgba(20,20,20,.2),rgba(20,20,20,.78)),repeating-linear-gradient(135deg,var(--k) 0 28px,rgba(0,0,0,.12) 28px 56px),var(--k)}
.khero .rb::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--brand);margin-right:.9em;vertical-align:.05em}
.khero .back{display:inline-block;margin-bottom:22px;font-size:13px;font-weight:600;letter-spacing:.08em;text-decoration:none;opacity:.85}
.khero .back:hover{opacity:1}
.khero .rb{font-weight:300;letter-spacing:.38em;font-size:clamp(12px,1.6vw,16px);text-transform:uppercase}
.khero h1{margin:.2em 0 .25em;font-weight:800;font-size:clamp(40px,8vw,96px);line-height:1;letter-spacing:.01em}
.khero .cnt{font-weight:500;opacity:.85}
.list{border-top:1px solid var(--line);margin-bottom:clamp(40px,6vw,64px)}
.mj{border-bottom:1px solid var(--line)}
.mj summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;font-size:clamp(16px,1.8vw,19px);font-weight:500}
.mj summary::-webkit-details-marker{display:none}
.mj summary:hover{color:var(--acc)}
.mj summary:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
.mj summary .ch{flex:none;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s;opacity:.6}
.mj[open] summary .ch{transform:rotate(225deg) translate(-3px,-3px)}
.mj .body{padding:0 4px 26px}
.mj .note{margin:0 0 16px;color:var(--muted);line-height:1.6;max-width:70ch}
.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.photos .ph{border-radius:10px;font-size:11px;letter-spacing:.16em;opacity:.9}
.photos .ph:first-child{opacity:1}
.kn{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}
.kn a{text-decoration:none;font-weight:600;letter-spacing:.04em}
.kn a:hover{color:var(--acc)}
.kn small{display:block;color:var(--muted);font-weight:500;letter-spacing:.2em;font-size:11px;text-transform:uppercase;margin-bottom:4px}
.kn .nx{text-align:right;margin-left:auto}

/* tekstualne stranice */
.prose{max-width:780px}
.prose h1{font-size:clamp(28px,4vw,44px);margin:0 0 24px;font-weight:800}
.prose h2{margin:40px 0 12px!important}
.prose a{color:var(--acc)}
.prose ul{padding-left:1.2em}

footer{padding:28px clamp(16px,4vw,48px);border-top:1px solid var(--line);color:var(--muted);font-size:13px;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{color:var(--acc)}
footer .priv{letter-spacing:.1em}
.social{display:flex;gap:8px}
.social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--fg);transition:background .2s,color .2s,border-color .2s}
.social a:hover,.social a:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff}
.social svg{width:18px;height:18px;fill:currentColor}
@media (max-width:560px){footer{flex-direction:column;text-align:center}}
@media (max-width:1000px){.grid .ph{font-size:10px;letter-spacing:.12em}}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}nav a.hide{display:none}.logo img{height:30px}.photos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:360px){.logo{min-width:0;flex:0 1 auto;margin-right:12px}.logo img{height:auto;width:min(181px,calc(100vw - 132px))}}
