@font-face{font-family:Carlito;src:url(fonts/Carlito-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:Carlito;src:url(fonts/Carlito-Bold.ttf);font-weight:700;font-display:swap}
:root{--red:#EE0000;--tx:#262626;--sub:#595959;--bg:#fff;--soft:#F6F6F6;--line:#E4E4E4;--navy:#1F3A5F}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Carlito,Calibri,Arial,sans-serif;color:var(--tx);background:var(--bg);font-size:20px;line-height:1.45;border-left:10px solid var(--red)}
a{color:inherit}
.w{max-width:1120px;margin:0 auto;padding:0 24px}
header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);z-index:20;border-bottom:1px solid var(--line)}
header .w{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:700;font-size:26px;text-decoration:none}.logo b{color:var(--red)}
.btn{display:inline-block;background:var(--red);color:#fff;font-weight:700;text-decoration:none;border:0;border-radius:12px;padding:14px 28px;font-size:20px;cursor:pointer;font-family:inherit}
.btn:hover{background:#c90000}.btn.sm{padding:9px 20px;font-size:18px}
.btn.o{background:#fff;color:var(--tx);border:2px solid var(--tx)}.btn.o:hover{background:var(--tx);color:#fff}
.over{color:var(--red);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:16px;margin-bottom:12px}
h1{font-size:68px;line-height:1;letter-spacing:-1.5px}h1 em,h2 em{color:var(--red);font-style:normal}
h2{font-size:44px;line-height:1.05;letter-spacing:-1px;margin-bottom:16px}
h3{font-size:24px;line-height:1.15;margin-bottom:6px}
.lead{color:var(--sub);font-size:24px;line-height:1.3;margin:22px 0 28px;max-width:560px}
.hero{padding:56px 0 40px}.hero .w{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.offer{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.badge{background:#FFF0F0;border:2px solid var(--red);border-radius:14px;padding:8px 18px;font-weight:700;font-size:22px}.badge b{color:var(--red)}
.phone{width:290px;margin:0 auto;border-radius:44px;background:#1b1b1b;padding:9px;box-shadow:0 30px 60px rgba(0,0,0,.25);transform:rotate(3deg)}
.phone img{display:block;width:100%;border-radius:36px}
.heroimgs{position:relative;height:600px}.heroimgs .phone{position:absolute;right:30px;top:0}
.heroimgs .paper{position:absolute;left:-10px;bottom:10px;width:300px;box-shadow:0 20px 50px rgba(0,0,0,.25);transform:rotate(-4deg);background:#fff}
.heroimgs .paper img{display:block;width:100%}
section{padding:72px 0}section.soft{background:var(--soft)}
.sc{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;border-left:6px solid var(--red)}
.card p,.sub{color:var(--sub)}.card .t{color:var(--red);font-weight:700;font-size:16px;letter-spacing:.12em}
.fe{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 40px;margin-top:28px;list-style:none}
.fe li{padding-left:34px;position:relative}.fe li:before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;background:var(--red)}
.fe b{display:block}.fe span{color:var(--sub);font-size:18px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px}
.gal figure{text-align:center}.gal .phone{width:100%;transform:none;border-radius:34px;padding:7px}.gal .phone img{border-radius:28px}
.gal figcaption{margin-top:14px;font-weight:700}
.price{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.pc{background:#fff;border:2px solid var(--red);border-radius:22px;padding:36px;text-align:center}
.pc .big{font-size:96px;font-weight:700;color:var(--red);line-height:1;letter-spacing:-3px}
.pc .m{font-size:26px;font-weight:700}.pc ul{list-style:none;margin:20px 0;color:var(--sub);text-align:left;display:inline-block}
.pc li:before{content:"✓ ";color:var(--red);font-weight:700}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
.steps div{counter-increment:s;position:relative;padding-top:56px}
.steps div:before{content:counter(s);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;font-weight:700;font-size:24px;display:grid;place-items:center}
details{border-bottom:1px solid var(--line);padding:16px 0}summary{font-weight:700;cursor:pointer;font-size:22px}details p{color:var(--sub);margin-top:8px}
.kontakt{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
form{display:grid;gap:14px}.r2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-weight:700;font-size:17px;display:block}
input,textarea{width:100%;font:inherit;font-size:19px;padding:12px 14px;border:2px solid var(--line);border-radius:10px;margin-top:4px;background:#fff;color:var(--tx)}
input:focus,textarea:focus{outline:none;border-color:var(--red)}textarea{min-height:110px;resize:vertical}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:16px;color:var(--sub)}.chk input{width:22px;height:22px;margin-top:2px;flex:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{padding:14px 18px;border-radius:10px;font-weight:700;display:none}.msg.ok{display:block;background:#EAF7EE;color:#14612c}.msg.err{display:block;background:#FFF0F0;color:#a00000}
footer{background:var(--tx);color:#ddd;padding:32px 0;font-size:17px}footer .w{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer b{color:#fff}
@media(max-width:900px){
 body{font-size:18px;border-left-width:8px}
 h1{font-size:46px}h2{font-size:34px}.lead{font-size:21px}
 .hero .w,.price,.kontakt{grid-template-columns:1fr}.hero{padding-top:32px}
 .heroimgs{height:520px}.heroimgs .phone{right:50%;margin-right:-110px;width:250px}.heroimgs .paper{width:210px;left:0}
 .sc,.steps,.fe{grid-template-columns:1fr}.gal{grid-template-columns:repeat(2,1fr);gap:16px}
 .r2{grid-template-columns:1fr}.pc .big{font-size:80px}section{padding:48px 0}
}

/* ===== moderni sloj: tamna hero pozadina, animacije, kolačići ===== */
header{background:rgba(18,18,18,.72);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;transition:background .3s}
header .logo{color:#fff}
.hero{position:relative;overflow:hidden;color:#fff;padding:84px 0 96px;background:
 radial-gradient(60% 70% at 88% 12%,rgba(238,0,0,.38),transparent 62%),
 radial-gradient(45% 55% at 8% 95%,rgba(238,0,0,.2),transparent 60%),#121212}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 70%)}
.hero .orb{position:absolute;border-radius:50%;filter:blur(70px);background:#EE0000;opacity:.28;animation:drift 14s ease-in-out infinite alternate}
.hero .o1{width:380px;height:380px;right:-80px;top:-60px}.hero .o2{width:300px;height:300px;left:30%;bottom:-140px;animation-duration:18s;opacity:.18}
@keyframes drift{to{transform:translate(-50px,40px) scale(1.15)}}
.hero .w{position:relative;z-index:2}
.hero h1{color:#fff}.hero h1 em{background:linear-gradient(90deg,#ff3b3b,#EE0000 60%,#ff7a4d);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{color:#cfcfcf}
.hero .badge{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px)}
.hero .btn.o{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.hero .btn.o:hover{background:#fff;color:#121212}
.btn{transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(238,0,0,.35)}
.hero .btn:not(.o){box-shadow:0 0 0 0 rgba(238,0,0,.6);animation:pulse 2.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 16px rgba(238,0,0,0)}100%{box-shadow:0 0 0 0 rgba(238,0,0,0)}}
.heroimgs .phone{animation:float 6s ease-in-out infinite}
.heroimgs .paper{animation:float2 7s ease-in-out infinite;border-radius:6px}
@keyframes float{50%{transform:rotate(3deg) translateY(-16px)}}
@keyframes float2{50%{transform:rotate(-4deg) translateY(12px)}}
.hero .over,.hero h1,.hero .lead,.hero .offer,.hero .btn{animation-name:up;animation-duration:.8s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
.hero .over{animation-delay:.05s}.hero h1{animation-delay:.15s}.hero .lead{animation-delay:.3s}.hero .offer{animation-delay:.45s}.hero .btn{animation-delay:.6s}
.hero .btn:not(.o){animation-name:up,pulse;animation-duration:.8s,2.6s;animation-delay:.6s,1.6s;animation-iteration-count:1,infinite}
@keyframes up{from{opacity:0;transform:translateY(26px)}}
section.soft{background:radial-gradient(50% 60% at 100% 0,rgba(238,0,0,.06),transparent 60%),#F6F6F6}
.card{transition:transform .25s,box-shadow .25s;border-radius:20px}.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.1)}
.gal .phone{transition:transform .3s}.gal figure:hover .phone{transform:translateY(-8px)}
.pc{box-shadow:0 24px 60px rgba(238,0,0,.15);position:relative}
.pc:before{content:"";position:absolute;inset:-2px;border-radius:24px;background:conic-gradient(from 0deg,#EE0000,#ff9a8a,#EE0000);z-index:-1;animation:spin 6s linear infinite;opacity:.35;filter:blur(10px)}
@keyframes spin{to{transform:rotate(360deg)}}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .card.rv.in:hover{transform:translateY(-6px)}
details summary{transition:color .2s}details[open] summary,summary:hover{color:var(--red)}
.ck{position:fixed;left:24px;right:24px;bottom:20px;max-width:640px;margin:0 auto;background:rgba(24,24,24,.94);backdrop-filter:blur(10px);color:#eee;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px 20px;display:flex;gap:16px;align-items:center;z-index:50;font-size:17px;line-height:1.35;box-shadow:0 20px 50px rgba(0,0,0,.4);animation:ckin .6s .8s cubic-bezier(.2,.7,.2,1) both}
.ck[hidden]{display:none}.ck b{color:#fff}.ck .btn{flex:none;padding:10px 22px;font-size:18px}
@keyframes ckin{from{opacity:0;transform:translateY(40px)}}
@media(max-width:900px){.hero{padding:44px 0 56px}.ck{left:12px;right:12px;flex-direction:column;align-items:stretch;text-align:left}.hero .orb{opacity:.2}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}
html,body{overflow-x:clip}
.hero .over,.hero .badge b{color:#ff5a4d}
header{background:#121212!important}

/* ===== prekidač teme i tamna varijanta ===== */
.tg{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer;margin-left:auto;margin-right:14px;transition:background .2s,transform .2s}
.tg:hover{background:rgba(255,255,255,.14);transform:rotate(15deg)}
.tg svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.tg .sun{display:none}html[data-theme=dark] .tg .sun{display:block}html[data-theme=dark] .tg .moon{display:none}
.tg:focus-visible,.btn:focus-visible,summary:focus-visible{outline:3px solid #ff5a4d;outline-offset:2px}
.firma{line-height:1.5}
body,section,.card,.pc,input,textarea,details{transition:background-color .35s,color .35s,border-color .35s}
html[data-theme=dark]{color-scheme:dark}
html[data-theme=dark] body{background:#0e0e0e;color:#eaeaea}
html[data-theme=dark] section.soft{background:radial-gradient(50% 60% at 100% 0,rgba(238,0,0,.12),transparent 60%),#151515}
html[data-theme=dark] .card,html[data-theme=dark] .pc,html[data-theme=dark] input,html[data-theme=dark] textarea{background:#1b1b1b;color:#eaeaea;border-color:#333}
html[data-theme=dark] .card{border-left-color:var(--red)}
html[data-theme=dark] .pc{border-color:var(--red)}
html[data-theme=dark] .card:hover{box-shadow:0 18px 40px rgba(0,0,0,.5)}
html[data-theme=dark] .card p,html[data-theme=dark] .sub,html[data-theme=dark] .fe span,html[data-theme=dark] details p,html[data-theme=dark] .pc ul,html[data-theme=dark] .chk,html[data-theme=dark] .steps .sub{color:#aaa}
html[data-theme=dark] details{border-color:#2e2e2e}
html[data-theme=dark] .btn.o{color:#eaeaea;border-color:#eaeaea}html[data-theme=dark] .btn.o:hover{background:#eaeaea;color:#111}
html[data-theme=dark] .hero .btn.o{color:#fff;border-color:rgba(255,255,255,.5)}
html[data-theme=dark] .over,html[data-theme=dark] h2 em,html[data-theme=dark] .pc .big,html[data-theme=dark] .card .t{color:#ff4d40}
html[data-theme=dark] a{color:#ff8a80}html[data-theme=dark] .btn,html[data-theme=dark] .logo{color:#fff}
html[data-theme=dark] .msg.ok{background:#12301c;color:#7be39b}html[data-theme=dark] .msg.err{background:#3a1414;color:#ff9a9a}
html[data-theme=dark] footer{background:#000}
html[data-theme=dark] .pc:before{opacity:.5}
.vid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.vf{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25);background:#000;aspect-ratio:1/1;max-width:560px;justify-self:end;width:100%}
.vf video{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.vid{grid-template-columns:1fr}.vf{justify-self:center}}

.logo img{display:block;height:52px;width:auto}
footer .w>span:first-child:before{content:"";display:inline-block;width:22px;height:22px;background:url(favicon.svg) center/contain no-repeat;vertical-align:-5px;margin-right:8px}

.sup{background:rgba(238,0,0,.08);border-left:4px solid var(--red);border-radius:10px;padding:12px 16px;margin-top:18px;line-height:1.5}
html[data-theme=dark] .sup{background:rgba(238,0,0,.14)}

/* mobil: zaglavlje u jednom urednom redu */
@media(max-width:600px){
header .w{height:56px;gap:8px}
header .logo img{height:30px;width:auto;display:block}
header .tg{width:34px;height:34px;flex:none;padding:0;display:grid;place-items:center}
header .tg svg{width:16px;height:16px}
header .btn.sm{font-size:12.5px;line-height:1.1;padding:8px 11px;white-space:nowrap;border-radius:10px;flex:none}
}
@media(max-width:360px){header .logo img{height:26px}header .btn.sm{font-size:11.5px;padding:7px 9px}}
